マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2023.04.25
【OSS情報】クラウドネイティブ分散SQLデータベース「 CockroachDB 」

コンテンツ
【OSS情報】クラウドネイティブ分散SQLデータベース「 CockroachDB 」

CockroachDBの「概要」
「 CockroachDB 」(コックローチDB)とは、
オープンソースの「クラウドネイティブ分散SQLデータベース」です。
強力かつ一貫性のあるACIDトランザクションをサポートするキーバリューストアとして活用できます。
水平方向スケーリングによって高い耐障害性を実現しており、システム全体の可用性を向上させることができます。
開発目標
CockroachDBは、「最新のデータ集約型アプリケーション」を「構築」「スケーリング」「管理」するために設計されています。
メリット
・標準SQLをサポート :リレーショナルDBの概念で利用可能
・PostgreSQLワイヤプロトコルのサポート :既存アプリケーションやツールを簡単に移行
・トランザクション保証 ACIDトランザクション
・分散トランザクション :クラスタ全体にトランザクションを分散
・データアクセススピード :高速な読み取り+書き込みを
ユースケース
CockroachDB は、「正確なデータ取得」+「ミリ秒の応答時間」を必要とするアプリケーションに適しています。
・分散(複製)されたOLTP
・マルチデータセンター展開
・マルチリージョンデプロイ
・クラウド移行
・クラウド向けに構築されたインフラストラクチャイニシアチブ
▲大規模分析処理用途には適していません。
CockroachDBの「特徴」
CockroachDB SQL
・外部APIは拡張機能を備えた標準SQL
・開発者は「使い慣れたリレーショナルの概念」で利用可能
PostgreSQLワイヤプロトコルのサポート
■任意のPostgreSQLクライアントドライバを使用可能
・JavaScript/TypeScript
・Python
・Go
・Java
・Ruby
・C
・C#(.NET)
・Rust
→cockroachlabs.com →docs →stable →install-client-drivers
データアクセススピード
・単一行の「読み取り」は2ミリ秒以下
・単一行の「書き込み」は4ミリ秒以下
・クエリパフォーマンス最適化のためのSQLチューニングプラクティスをサポート
トランザクション保証
・ACIDセマンティクスを保証 :「原子性」「一貫性」「分離」「耐久性」
・格納データは MVCCでバージョン管理
・コンセンサスアルゴリズムは、レプリカの大部分が常に一致することを保証
・タイムスタンプキャッシュも使用 :書き込みトランザクションが読み取りトランザクションへの干渉を防ぐ
分散トランザクション
・クラスタ全体にトランザクションを分散
・リバランス進行中にダウンタイムや追加の待ち時間なしで進行
対障害性
・強力な一貫性のあるレプリケーション :Raftコンセンサスアルゴリズム
・自動的に「複製」「再調整」「回復」するように構築されている
・障害後の自動修復機能 :レプリカの大部分が利用可能である限りシームレスに続行
・長期的障害の場合、レプリカを自動的に再調整
水平方向スケーリング
・データが入力され、しきい値サイズ(デフォルト512MiB)に達すると、データは2つの範囲に分割
・それぞれが「Key-Valueスペース全体の連続セグメント」をカバー
・新しく分割された範囲は「より多くの容量を持つノード」に自動的に再調整
・ピアツーピアゴシッププロトコルを使用してリバランス
セキュリティ
・通信暗号化 :「クライアント/ノード」および「ノード/ノード」
・SSL証明書 :クライアント+ノード両方のIDを認証
・一般的SQL権限をサポート :データベース+テーブルに対する権限設定
→cockroachlabs.com →docs →stable →security-reference →security-overview
マイグレーション機能
・Migrate from PostgreSQL
・Migrate from MySQL
・CSV によるデータインポートも完全にサポート
CockroachDBの「デプロイメントオプション」
①スタータープロジェクト向き「CockroachDB Serverless」
・サーバレス環境へデプロイ
・Cockroach Labsが管理
・「AWS」または「GCP」
・マルチテナントデプロイメント
・クラスタを即座に作成して開始できる
・即時の自動スケーリング
・寛大な無料利用枠
・「スタータープロジェクト」や「機能評価」に適している
②エンタープライズ用途向き「CockroachDB Dedicated standard 」
・サーバレス環境へデプロイ
・「単一テナント」デプロイメント
・エンタープライズ機能を必要とするミッションクリティカルなプロジェクトに適している
③エンタープライズ用途向き「CockroachDB Dedicated advanced 」
・「Dedicated standard」に加えて、「PCI」(データセキュリティ基準)対応の機能を備えている
③自己ホスト型「CockroachDB Self-Hosted」
・データベース環境を完全に制御できる
・エンタープライズ機能が必要な場合に適している
→cockroachlabs.com →docs →stable →choose-a-deployment-option.html
CockroachDBの「オフィシャルサイト情報」
オフィシャルサイト
GitHubページ
→github.com →cockroachdb →cockroach
主要開発元
CockroachDBは「Cockroach Labs」が中心となり開発が進められています。
ライセンス情報
CockroachDBのライセンスは、複数ライセンスです。
・Business SourceLicense 1.1
・CockroachDB Community License
・MIT license
・BSD-style licenses
詳細については、こちらを参照ください。
→github.com →cockroachdb →cockroach →LICENSE
セットアップ
→cockroachlabs.com →docs →stable →choose-a-deployment-option
導入事例
【お知らせ】ITセミナー「マジセミ」のご紹介
「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。
参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。
また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。
多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。
参考サイト
→github.com →cockroachdb →cockroach
→cockroachlabs.com
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
ランク1位
【無料で使える】「 プロジェクト管理 」ツールまとめランク2位
【無料で使える】「 RPA 」ツールまとめランク3位
【OSS情報アーカイブ】NW.jsランク4位
【無料で使える】「 マルウェア 」対策ツールまとめランク5位
【無料で使える】「 翻訳 」ツールまとめランク6位
【ソフト紹介】無料で使える「 ウイルスソフト 」おすすめまとめ5選ランク7位
【無料オープンソース】「 リモートアクセス 」ツールまとめ5選ランク8位
【無料で使える】「 ファイアウォール 」ソフトウェアまとめランク9位
【無料で使える】「 ドキュメント管理 」ツールまとめランク10位
【OSS情報アーカイブ】GlusterFS
おすすめの記事

デジタル寺田の3分用語解説
2025.03.17
【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?
「 心理的安全性 」が低い職場とはどのような環境なのか、具体的な特徴を解説します。「質問しづらい雰囲気」「失敗を報告できない隠蔽体質」「発言をためらう風土」など、心理的安全性の欠如がもたらす影響を詳しく紹介し、安全な職場づくりの重要性も解説します。