2019年5月、MemSQL 6.8がリリースされました
転職をしてから大規模データを扱うMemSQLクラスタを運用する機会が無く、手元のMacBook上のDockerでExcel替わりに使う(32GB RAMの機材なので快適)程度ということで、あまり情報発信することを考えていませんでした…
が、MemSQLについての記事を書いている人が少ないのは相変わらずで、San FranciscoのMemSQLの人達と連絡を取り合ったりもしているので、できる範囲でMemSQLについてシェアしようとおもいます。
最近何が変わった?
6.7までは現役で使っていて、従来の無料ライセンスが「HA無し」「メモリー容量制限無し」だったものが「HA可」「クラスター全体で128GBまでに制限」に変更されたタイミングでした。
6.8ではこの制約が変更されたのが個人的には大きなニュースでした。
リブランディングがあった
- 青いフラットな感じのデザインから、紫でグラデーションの入ったデザインにロゴが変わり、全体にダークな感じになったように思います
- MemSQLのローンチから何度かロゴ変更がありましたが、「MemSQL」と「memSQL」でどっちなのか表記の揺れがありますね
- 今まで、超高速のDBですよという訴求をしてたようですが、最近はデータの入出力をひっくるめて個々の業界に合わせたアプリケーションが構成できますよと言う、どちらかというとソリューション提案っぽい感じで訴求されてるように見えますね
機能追加は常に行われている
- 詳細はリリースノートを見ればいいと思います
- 個人的には、
DOT_PRODUCT
が追加されてから機械学習を支援する関数の追加がどれくらい行われるか気になってましたが、6.8ではJSON_TO_ARRAY
とSPLIT
の追加に言及されてますね。文字列を配列として扱えるのは、Hivemallなんかでも使われるような機能なので今後どう進化するか注視してみたいです
Free Tierの制限が(大幅に)変更された
- 最も注目しているのが、Free Tierの制限が変更された点です
制約 | ~6.5 | 6.7 | 6.8 |
---|---|---|---|
HA構成 | 不可 | 可 | 可 |
バックアップ | 不可 | 可 | 可 |
メモリー容量 | 無制限 | 128GB/クラスタ | 無制限 |
ノード数 | 無制限 | 無制限 | Leafは4ノード/クラスタ |
- 6.7ではノード数の制限はありませんでしたが、メモリー容量が128GBまでのため、CPUコア数やコア当たりのメモリー容量から考えるとLeafは2〜4程度が現実的でした。128GBだと、高性能なMySQL環境と比較して劇的な差を感じにくい気もします
- 6.8ではメモリー容量の制限がなくなり、「インメモリーであること」をより体感できる構成が可能だと思います。ノード数の制限が4台までなので、2台に分散して、レプリカを1つ作る、というHA構成も試せますね
- 試したところ、6.7用に発行したFree Tierのライセンスは、6.8でも128GB制限があり、6.8の4ノード用ライセンスを得るにはライセンスの発行し直しが必要なようです。あまり検証していませんが、たぶん改めて登録するかMemSQL社に問い合わせるのがいいと思います
ところで…
- MemSQLはインメモリーに最適化されているので、MySQLのメモリーテーブルよりも早いし扱いやすいしすごく便利です。ローカルでちょっとしたデータを扱うにも、データ構造がインメモリーに最適化されているので爆速です
- データはUTF-8がデフォルトなので日本語もぜんぜんOKで、MySQLの汎用的なコネクタで大抵のツール・ライブラリから接続できます
- アナリストのデータ探索、機械学習なんかでクエリーの試行錯誤する、リアルタイムダッシュボードを高頻度に更新したい、という場合に試す価値はあります
- インメモリーというとSAP HANAがぱっと思い浮かぶ人もいると思いますが、コスト的にも取っつきやすさ的にも、MemSQLは試す価値あると思います
Enjoy!