81 件中 61 - 70 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: db (reset)
MySQL ClusterによるNoSQL処理(ClusterJ)

NoSQL with MySQL Cluster
本日、話をさせて頂いた、MySQL Clusterにおけるトランザクション対応NoSQLについての資料です。

No sql with mysql cluster (MyNA・JPUG合同DB勉強会) from Shinya Sugiyama

MySQL ClusterはMySQLとは基本的には異なるデータベースです。
NDB(Network Database)に対して、MySQLからもNoSQLからもデータ処理出来るデータベースがMySQL Clusterです。
MySQLからはもともとストレージエンジンを選択出来るデータベースシステムですが、
MySQLはndbclusterというストレージエンジンとしてNDBを利用しています。

NDBはNDB API …

[さらに読む]
MySQL5.7におけるProxy Userによる権限付与

Toddさんのブログにも書いてありますが、MySQL5.7.7からMySQL Proxy Userを利用する事により、
特定のアクセス権限を纏めて、管理する事が出来るようになりました。
複数ユーザー権限をまとめて管理出来るような、ROLEの様な機能になります。

Emulating roles with expanded proxy user

主なメリットとしては、Proxy User(Role)に権限を纏めて付与して、
それぞれの個人アカウントにProxy Userの権限を付与する事により、個別のアカウントに権限を付与しなくても、
まとめて権限管理が出来るので権限付与漏れが無くなる、個別権限付与の手間が省ける、それぞれが個別にアカウントを

[さらに読む]
flexAsynchによるMySQL Clusterベンチマーク

flexAsynchによるMySQL Clusterベンチマーク

MySQL Benchmark Tool
https://dev.mysql.com/downloads/benchmarks.html
―概要―
FlexAsynch is a benchmark specifically developed to test scalability of MySQL Cluster.
It is found in any MySQL Cluster source tarball under storage/ndb/test/ndbapi. The features required to
run it in this parallel manner requires a MySQL Cluster 7.x version released after the 15th of October 2011.
The DBT2 Benchmark Tool can be used to run distributed tests with many MySQL Cluster Data nodes and many
flexAsynch benchmark programs in a completely automated fashion.

Mikaelさんが、MySQL Clusterでのベンチマーク方法についての手法を書かれているので、

[さらに読む]
Work Tableによる処理 (temporary,memory tables)

特定のSQL処理で、GROUP BYなどの集合関数を利用していて、
“Using temporary”,”Using filesort”などが出て処理時間がかかり過ぎたり、
サブクエリーによる結果をJOINしてindexが利用出来無かったりと、
困難な場面に遭遇する事があるかと思います。

基本的には、物理的に変更しても良くて数倍だと思いますので、
アプリケーションやクエリーを工数かけて書き換えて対応するのが良いと思いますが、
なかなか出来ない場合は、可能な範囲でサーバーパラメータを変更したり、
クエリーを若干変更してメモリーテーブルやTEMPORARY TABLEなどでワークテーブルを作成し、
サブクエリーなどの結果を随時集計しIndexを使えるように処理する方法もあるかと思います。

[さらに読む]
MySQL Cluster 7.x Rolling Upgrade

MySQL Clusterの良いところの一つに、Rolling Upgradeが可能なので、
サービスを停止せずに、MySQL Clusterのアップグレードが可能な部分があると思います。
やはり、アップグレードにサービス停止を伴うと、インフラ管理者もサービス担当者と
メンテナンス時間の調整をしなければならず、なかなか対応がが難しいと思います。

アップグレードには、MCM(MySQL Cluster Manager)というCommercial版のツールを使えば、
コマンド一つでアップグレード可能ですが、今回はマニュアルで一つ一つアップグレードしています。

MySQL Cluster Managerは、基本的な管理ダスクを自動化することによって、
MySQL データベースの作成と管理を簡易化します。
MCM参照:

[さらに読む]
MySQL Enterprise FirewallとReplication連携

先日、ご紹介させて頂いた、MySQL Enterprise Firewallを利用する事により、
White ListベースのDBアクセス制御(ステートメントベース)をUserアカウントとSQLステートメントの
組み合わせで実装する事が出来ますが、Publicクラウドを含む環境でWebサイトを運用されている場合は、Replication機能と組み合わせてご利用される場合もあるかと思います。

MySQL Enterprise Firewallには、全部で4つのテーブルがありますが、
(Information_Schemaに2つMySQLに2つテーブルが準備されています)
information_schemaにあるテーブルに関しては、レプリケーション対象外なので実際にSlaveに同期されるのは以下の2つのテーブルという事になります。

[さらに読む]
MySQL5.7の追加機能Generated Columns

MySQL5.7.7RCでは、列の値を定義によって自動生成可能なGenerated Columunsという機能が追加されています。
MS SQLやDB2でも同じような機能があって、頻度は多く無いですが、以前データベースの運用していた時にTAXの自動計算などで利用していました。
以下のブログには、XMLとの連携を行った例が書かれているので参考にしてみて頂ければと思います。

Generated Columns in MySQL 5.7.5
http://mysqlserverteam.com/generated-columns-in-mysql-5-7-5/

例) Generated Columinを利用して合計金額を持つ列を生成


CREATE TABLE `T_Generated_Column` (
  `pid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `pname` varchar(1024) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `qty` …
[さらに読む]
Online ALTER TABLE Enhance Varchar Size

MySQL5.6でONLINE DDLが強化されて、テーブルの変更も多くのケースではオンラインで処理出来る為、深夜のメンテナンスが必須では無くなりました。
もちろんサーバーの負荷やユーザーの利用状況によっては、やはり深夜の時間帯でのメンテナンスが安心だというケースもまだあるとは思いますが、
オンラインでユーザーへのサービスを停止せずに、メンテナンスが出来るという選択肢は非常に重要だと思います。

ONLINE DDL 5.6での拡張(参考)
http://thinkit.co.jp/story/2013/11/19/4670/page/0/1

5.7ではまた追加で、ONLINEでのメンテナンスが出来る選択肢が増えています。

[さらに読む]
MySQL5.7におけるレプリケーションの改良

MySQL5.7にてレプリケーションに新たなオプションが加わったので、
ここで軽くご紹介させて頂きます。

今回は、以下の2点のみ検証してみました。
1. マルチスレッドスレーブ(同一スキーマ)
– 全体的なパフォーマンス次第ですが、トランザクションを並列して実行可能。
レプリケーションのパフォーマンスが向上します。
2. 動的フィルタリング
– オンライン処理増えると、メンテンナンス時間の制限が減らせてますね。

検証、MySQL Version


root@localhost [REPLI]> select @@version;
+--------------+
| @@version    |
+--------------+
| 5.7.7-rc-log |
+--------------+

以下は、また時間見てご紹介させて頂きます。

■ …

[さらに読む]
Separate UNDO tablespace and Innodb Temporary Tablespace

先日は、共通テーブルスペース(Generated Tablespace)の紹介をさせて頂いたので、
5.7でより細かく設定出来るようになった
undo tablespaceとInnoDB temporary table tablespaceの設定
を紹介してみます。インスタンスの初期設定のタイミングで設定する必要がある為、
出来るだけインスタンスを構築する前にファイルパスなどの設計も行って頂ければ宜しいかと思います。

※まだ、GAになっていないのでRC(リリース候補)での確認のみなので、実際に本番環境で利用する場合は事前検証お願い致します。

■ Separate UNDO tablespace

[さらに読む]
81 件中 61 - 70 件を表示
« 前の 10 件 | 次の 10 件 »