Tarantool 2.8 DBMS のリリース

新しいバージョンの Tarantool 2.8 DBMS が利用可能になり、メモリ内データベースから取得した情報を永続的なデータ ストレージに保存できます。 DBMS は、NoSQL システム (Memcached や Redis など) の高速クエリ処理特性と、従来の DBMS (Oracle、MySQL、PostgreSQL) の信頼性を組み合わせています。 Tarantool は C で書かれており、Lua でストアド プロシージャを作成できます。 コードは BSD ライセンスに基づいて配布されます。

DBMS を使用すると、高負荷時に大量のデータを効率的に処理できます。 Tarantool の機能には、Lua 言語でハンドラーを作成する機能 (LuaJIT が組み込まれています)、クライアントとのデータ交換時の MessagePack 形式の使用、XNUMX つの組み込みエンジンの存在 (リセット付き RAM への保存) があります。永続ドライブと LSM ツリーに基づく XNUMX レベルのディスク ストレージへ)、セカンダリ キーのサポート、XNUMX 種類のインデックス(HASH、TREE、RTREE、BITSET)、マスター-マスター モードでの同期および非同期レプリケーションのツール、接続認証とアクセス制御、SQL クエリを処理する機能。

主な変更点:

  • memtx インメモリ エンジンの MVCC (Multi-Version Concurrency Control) の安定化。
  • IPROTO バイナリ プロトコルでのトランザクションのサポート。 以前は、トランザクションには Lua でストアド プロシージャを記述する必要がありました。
  • 個々のテーブルに関連して機能する同期レプリケーションのサポート。
  • RAFTプロトコルに基づいて自動的にバックアップノードに切り替える仕組み(フェイルオーバー)。 非同期 WAL ベースのレプリケーションは長い間 Tarantool に実装されてきたため、現在ではマスター ノードを手動で監視する必要はありません。
  • 自動マスター ノード切り替えは、データ シャーディングを備えたトポロジの場合にも利用できます (仮想バケットを使用してサーバー間でデータを分散する vshard ライブラリが使用されます)。
  • 仮想環境で作業する場合に、Tarantool カートリッジ クラスター アプリケーションを構築するためのフレームワークを改善します。 Tarantool カートリッジは、負荷をより良く保持できるようになりました。
  • クラスターのデプロイメントのための Ansible ロールの作業は、最大 15 ~ 20 倍高速化されました。 これにより、大規模なクラスターの操作が容易になります。
  • 古いバージョン >1.6 および <1.10 からの移行を簡略化するためのツールが登場しました。このツールは、起動時に追加のオプションを使用して利用できます。 以前は、暫定バージョン 1.10 を展開して移行を行う必要がありました。
  • 小さなタプルのストレージが最適化されました。
  • SQL が UUID をサポートし、型変換が改善されました。

バージョン 2.10 からは、リリースの生成に関する新しいポリシーに移行する予定であることに注意してください。 下位互換性を破壊する重要なリリースの場合は、バージョンの最初の桁が変更され、中間リリースの場合は 2.10 桁目、修正リリースの場合は 3.0.0 桁目が変更されます (XNUMX 以降は、リリース XNUMX がリリースされます)。

出所: オープンネット.ru

コメントを追加します