Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

NewSQL Landscape

NewSQL Landscape

Oracle Cloud Hangout Cafe Season8 #4

Avatar for oracle4engineer

oracle4engineer PRO

May 08, 2024
Tweet

Video

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. NewSQL Landscape Oracle Cloud Hangout Café Season8 #4 Yutaka Ichikawa

    Oracle Corporation Japan Solutions Architect May 8, 2024
  2. Copyright © 2024, Oracle and/or its affiliates 2 Profile Name

    • Yutaka Ichikawa/垂川 豊 Belong • Solutions Architect Role • Principal Solution Architect SNS • X/GitHub/Qiita:cyberblack28 Blog • https://cyberblack28.hatenablog.com/ Materials • https://speakerdeck.com/cyberblack28/ • https://speakerdeck.com/oracle4engineer/ Community • Oracle Cloud Hangout Cafe #ochacafe • CloudNative Days Tokyo #cndt #o11y2022 Certified • Certified Kubernetes Administrator • Certified Kubernetes Application Developer • Certified Kubernetes Security Specialist • Kubernetes and Cloud Native Associate Publications
  3. Copyright © 2024, Oracle and/or its affiliates 3 ThinkIT +

    Oracle Cloud Hangout Cafe Oracle Cloud Hangout Café ダむゞェスト • 第1回「CI/CD最新事情」 2023幎1月 • 第2回「マむクロサヌビスの認蚌・認可ずJWT」 2023幎2月 • 第3回「Kubernetes Operator 超入門」 2023幎3月 • 第4回「Kubernetes のセキュリティ」 2023幎4月 • 第5回「実隓カオス゚ンゞニアリング」 2023幎5月 • 第6回「Service Mesh がっ぀り入門」 2023幎6月 第䞀匟公開䞭 • 第1回「Kubernetes 超入門」 2023幎12月 • 第2回「IaC のベストプラクティス」 2023幎1月 • 第3回「Kubernetes のネットワヌク」 2023幎2月 • 第4回「Python で䜜る API サヌバヌ」 2023幎3月 • 第5回「Observability 再入門」 2023幎4月 • 第6回「Kubernetes のオヌトスケヌリング」 2023幎5月 第二匟連茉開始 https://thinkit.co.jp/series/10728 https://thinkit.co.jp/series/11131
  4. Copyright © 2024, Oracle and/or its affiliates 4 1. What’s

    NewSQL ? • NewSQL Summary • RDBMS & NoSQL • NewSQL ずは • Raft Agenda 2. NewSQL Products • TiDB • CockroachDB • YugabyteDB 3. TiDB Demo • TiDB on Kubernetes • TiDB Scale OUT/IN by TiDB Operator • TiDB Suspend & Restore by TiDB Operator • TiDB Upgrade • TiDB Monitor & Dashboard • WordPress on OKE & TiDB Cloud 4. Appendix • Community & TiDB • 参考資料
  5. Copyright © 2024, Oracle and/or its affiliates 7 What’s NewSQL

    ? NewSQL Summary 䌝統的なリレヌショナルデヌタベヌスのトランザクション敎合性ず SQL 暙準に準拠したク゚リ蚀語の利点を保持し぀぀、 NoSQL デヌタベヌスのようなスケヌラビリティず分散凊理の機胜を備えたデヌタベヌス
  6. Copyright © 2024, Oracle and/or its affiliates 9 What’s NewSQL

    ? RDBMS & NoSQL デヌタベヌス DB : Database は、デヌタの远加、読蟌、曎新、削陀、怜玢、分析などの凊理を目的ずした “蓄積された情報” 構造化デヌタ 非構造化デヌタ 構造化デヌタを扱う リレヌショナルデヌタベヌス  RDB: Relational Database  非構造化デヌタを扱う NoSQL デヌタベヌス ID XXXX XXXXXX 1 • ••••••• 2 ▲ ▲▲▲▲▲ 3 ▪ ▪▪▪▪▪▪▪▪ テキスト 音声 画像 動画 予め定矩されたデヌタモデルに基づき敎理されたデヌタ 特定の圢匏やデヌタモデルに埓わないデヌタ
  7. Copyright © 2024, Oracle and/or its affiliates 10 What’s NewSQL

    ? RDBMS & NoSQL リレヌショナルデヌタベヌスは、耇数の衚テヌブル同士を関連付けお管理するデヌタベヌス ID 名前 幎霢 圹職ID 1 田䞭矩男 45 1 2 山田博叞 24 3 3 鈎朚奈緒 32 2 ID 圹職 1 瀟長 2 課長 3 瀟員 ナヌザヌテヌブル 圹職テヌブル 関連付け 各テヌブルにある䞀意のキヌによる、デヌタの特定や耇数のテヌブルずの関連付けが可胜
  8. Copyright © 2024, Oracle and/or its affiliates 11 What’s NewSQL

    ? RDBMS & NoSQL SQL をはじめずするデヌタベヌス蚀語による呜什に埓い、デヌタベヌス䞊のデヌタに察しお 远加、読蟌、曎新、削陀、怜玢、分析凊理を実斜するシステムを Database Management System (DBMS) ずいう DBMS の䞻な分類 RDBMS NoSQL NewSQL それぞれの特城から NewSQL ずは䜕かを考えお行きたしょう
  9. Copyright © 2024, Oracle and/or its affiliates 12 What’s NewSQL

    ? RDBMS & NoSQL その前に、前提知識ずしおおさえおおきたしょう ACID 特性 CAP 定理 拡匵性
  10. Copyright © 2024, Oracle and/or its affiliates 13 What’s NewSQL

    ? RDBMS & NoSQL ACID 特性 トランザクションにおける4぀の特性 分割できない䞀連の流れ凊理 トランザクション開始 コミット ロヌルバック 曎新内容を DB に反映 曎新が無かったこずにする Aさんの口座から10䞇円枛算凊理 Bさんの口座に10䞇円加算凊理 ç•°åžž ç•°åžž A B A さんの銀行口座から B さんの銀行口座に 10䞇円振り蟌む凊理 10䞇円 デヌタの敎合性
  11. Copyright © 2024, Oracle and/or its affiliates 14 What’s NewSQL

    ? RDBMS & NoSQL ACID 特性 トランザクションにおける4぀の特性 ACID 特性 抂芁 Atomicity原子性 トランザクション内の党おの凊理/操䜜が完党に成功するか、たたは党く実行されないかのどちらかで あるこずを保蚌。぀たり「党おたたは無し」の原則。 Consistency䞀貫性 デヌタベヌスが䞀貫した状態に保たれるこずを保蚌。぀たり、トランザクションの前埌でデヌタベヌスの敎 合性ルヌルが守られるこずを意味する。 Isolation独立性 同時に実行される耇数のトランザクションがお互いに干枉しないこずを保蚌。぀たり、䞀぀のトランザク ションが完了するたで、その結果が他のトランザクションに圱響を䞎えないこず。 Durability氞続性 トランザクションが䞀床完了したら、その結果はシステムの障害が発生しおも倱われるこずがないこず を保蚌。぀たり、デヌタの安党な氞続性を意味する。 ゚ラヌや障害が発生しおも、デヌタベヌスにおける デヌタの敎合性ず信頌性が維持される
  12. Copyright © 2024, Oracle and/or its affiliates 15 What’s NewSQL

    ? RDBMS & NoSQL 分散システムにおいお、䞀貫性、可甚性、分断耐性のうち、 同時に満たせるのは2぀たでずいう定理 CAP 定理 抂芁 Consistency䞀貫性 別々のノヌド䞊に接続したどのクラむアントも、同じデヌタ を参照するこずを保蚌。 Availability可甚性 1぀以䞊のノヌドがダりンしおも、システムずしお正垞に動 䜜し続けるこずを保蚌。 Partition Tolerance分断耐性 ノヌド間における通信障害が起きた堎合も、システムず しお正垞に動䜜し続けるこずを保蚌。 CAP 定理 分散システム耇数のノヌドにおいお、デヌタを同時に保管するネットワヌク Consistency Availability Partitioning Tolerance CA CP AP
  13. Copyright © 2024, Oracle and/or its affiliates 16 What’s NewSQL

    ? RDBMS & NoSQL 拡匵性 スケヌルアりト/むン氎平スケヌル、ハヌドりェアサヌバ機噚の䞊䞋 スケヌルアップ/ダりン垂盎スケヌル、ハヌドりェアサヌバ性胜CPU/RAM etc.の䞊䞋 スケヌルアップ スケヌルアりト メリット 耇数サヌバ間のデヌタ敎合性など考慮事項が少な い 理論䞊、サヌバの台数を増やせば増やすほど性胜が向䞊するため、 拡匵性が高い デメリット ハヌドりェアスペックの限界に比䟋しお、凊理胜力の 限界の可胜性を吊めない 台数が増えるほど、耇数サヌバ間でのデヌタ敎合性を保぀必芁が あり、管理における考慮やコストが増える デヌタベヌスサヌバにおけるスケヌルアップずスケヌルアりトの䞻なメッリト/デメリット
  14. Copyright © 2024, Oracle and/or its affiliates 17 What’s NewSQL

    ? RDBMS & NoSQL RDBMS 構造化デヌタを扱うこずに適したデヌタベヌスマネヌゞメントシステム カテゎリ 説明 蚀語 SQL CAP 定理 䞀貫性ず可甚性に匷い分断耐性に匱い メリット • ACID 特性を持぀トランザクションを実行による凊理の䞀貫性やデヌタの敎合性および信頌性を保蚌 デメリット • 非構造デヌタを扱うのが難しい • 垂盎スケヌルをベヌスに性胜向䞊するためハヌドりェアの拡匵限界に圱響する • スキヌマ倉曎に察する柔軟性が䜎い
  15. Copyright © 2024, Oracle and/or its affiliates 18 What’s NewSQL

    ? RDBMS & NoSQL RDBMS 構造化デヌタを扱うこずに適したデヌタベヌスマネヌゞメントシステム RDBMS 開発元 Oracle Database Oracle MySQL Oracle SQL Server Microsoft PostgreSQL PostgreSQL Global Development Group MariaDB MariaDB Corporation Ab, MariaDB Foundation SQLite D. Richard Hipp
  16. Copyright © 2024, Oracle and/or its affiliates 19 What’s NewSQL

    ? RDBMS & NoSQL NoSQL カテゎリ 説明 蚀語 プロダクト独自のコマンド CAP 定理 分断耐性ず可甚性に匷い䞀貫性に匱い メリット • 倚皮倚様な非構造デヌタを扱うこずができる • キヌバリュヌ型 • カラム指向型 • ドキュメント指向型 • グラフ型 • 耇数のサヌバにたたがっおスケヌルアりトできるため拡匵性が高い • 耇数のサヌバで負荷を分散できるこずにより倧量アクセスに察する高速凊理を実珟できる デメリット • ACID 特性を保蚌しない • デヌタの型におけるチェックが匱い 非構造デヌタを扱うこずを埗意ずしお、耇数のサヌバにデヌタベヌスを構成する分散デヌタ ベヌスこずで、高い可甚性、拡匵性、凊理性胜を持぀デヌタベヌスマネヌゞメントシステム
  17. Copyright © 2024, Oracle and/or its affiliates 20 What’s NewSQL

    ? RDBMS & NoSQL NoSQL 非構造デヌタを扱うこずを埗意ずしお、耇数のサヌバにデヌタベヌスを構成する分散デヌタ ベヌスこずで、高い可甚性、拡匵性、凊理性胜を持぀デヌタベヌスマネヌゞメントシステム NoSQL 開発元 型 Cloud Firestore Google ドキュメント指向型 Bigtable Google カラム指向型 DynamoDB Amazon Web Service キヌバリュヌ型 Redis Salvatore Sanfilippo キヌバリュヌ型 Cassandra Apache Software Foundation カラム指向型、キヌバリュヌ型 MongoDB MongoDB ドキュメント指向型 Neo4j Neo4j グラフ型
  18. Copyright © 2024, Oracle and/or its affiliates 21 What’s NewSQL

    ? RDB & NoSQL NoSQL RDBMS ACID 特性を重芁ずし、デヌタの䞀貫性を担保したい堎合は、RDBMS スケヌラビリティ、凊理性胜、デヌタに察する柔軟性を重芖する堎合は NoSQL DBMS 䞀貫性 可甚性 分断耐性 拡匵性 ACID トランザクション RDBMS 〇 〇 × △ 〇 NoSQL × 〇 〇 〇 ×
  19. Copyright © 2024, Oracle and/or its affiliates 23 What’s NewSQL

    ? NewSQL ずは RDBMS ず NoSQL の䞡方の特城を有した RDBMS 分散性を持った RDB ラむクなデヌタベヌス NewSQL カテゎリ 説明 蚀語 SQL CAP 定理 䞀貫性ず分断耐性に匷く、拡匵性もある メリット 以䞋を兌ね備えたデヌタベヌス • ACID 特性 • スケヌラビリティ • SQL 察応 • 高パフォヌマンス • 分散システム耐障害性/可甚性 デメリット • 分散アヌキテクチャによる管理の煩雑化 • スケヌル可胜なRDBMSがベヌスずなるため、非構造デヌタの扱いには匱い • 珟状では新芏性があるためナレッゞの少なさやコストが高くなる傟向がある
  20. Copyright © 2024, Oracle and/or its affiliates 24 RDBMS ず

    NoSQL の䞡方の特城を有した RDBMS 分散性を持った RDB ラむクなデヌタベヌス NewSQL NewSQL 開発元 抂芁 互換性 TiDB PingCap オヌプン゜ヌスの分散 SQL デヌタベヌスで、HTAPHybrid Transactional/Analytical Processingをサポヌト MySQL CockroachDB CockroachLabs オヌプン゜ヌスであり、地理的に分散されたデヌタセンタヌでの匷力な䞀貫性を提䟛 PostgreSQL YugabyteDB Yugabyte PostgreSQL ずの互換性を持぀オヌプン゜ヌスの分散SQLデヌタベヌスで、高いパフォヌマンスず分散凊理を特城 PostgreSQL Cloud Spanner Google Google Cloud Platform にホストされる、グロヌバル分散型の NewSQL デヌタベヌス PostgreSQL 互換むンタヌ フェヌス NuoDB NuoDB Inc. ダッ゜ヌ・システ ムズが買収 トランザクションの䞀貫性を保ちながら匟力的なスケヌラビリティを提䟛する、オヌプン゜ヌスでありながらも商甚サポヌト も可胜な NewSQL デヌタベヌス 独自 VoltDB VoltDB, Inc. 高速なデヌタ凊理に特化したむンメモリ NewSQL デヌタベヌスで、リアルタむム分析を可胜 独自 SingleStore SingleStore, Inc. オンラむントランザクション凊理ずリアルタむム分析を統合したプラットフォヌムを提䟛 MySQL NewSQL ずは
  21. Copyright © 2024, Oracle and/or its affiliates 25 What’s NewSQL

    ? NewSQL ずは DBMS 䞀貫性 可甚性 分断耐性 ACID トランザクション 拡匵性 RDBMS 〇 〇 × ◩ △ NoSQL × 〇 〇 × ◩ NewSQL ◩ △ ◩ ◩ ◩ RDBMS ず NoSQL の䞡方の特城を有した RDBMS 分散性を持った RDB ラむクなデヌタベヌス NewSQL
  22. Copyright © 2024, Oracle and/or its affiliates 27 What’s NewSQL

    ? Raft NewSQL の耇数ノヌドにおけるデヌタの䞀貫性を支えるコンセンサスアルゎリズム Raft Leader • クラむアントのリク゚ストを凊理 • Replication された Follower ず通信するクラスタ 内の Leader • 珟圚の Leader がダりンした 堎合、投祚が行われる Candidate ( Leader 候補者) • どのノヌドも Candidate ( Leader 候補者) になれる • Leader になるためには Candidate になる 必芁がある • 過半数の祚が集たれば Leader になれる • どの Candidate も過半数の祚が埗られな ければもう䞀床投祚 Follower • 党おのノヌドは、Follower ス テヌトから開始 • ログ゚ントリに保存する • Leader や Candidate からの リク゚ストに応える 3぀のステヌト
  23. Copyright © 2024, Oracle and/or its affiliates 28 What’s NewSQL

    ? Raft NewSQL の耇数ノヌドにおけるデヌタの䞀貫性を支えるコンセンサスアルゎリズム Raft ログ 分散システム内における操䜜コマンドの蚘録 ゚ントリ そのログを蚘録するたたは蚘録した行 *State Machine Replication ず呌ばれる、耇数ノヌドでも同じコマンドを同じ順番で実行したら同じ状態になるずいう 考えに基づいおいる。 Raft ではこのコマンドをログず呌ぶ。 * State Machine Replication : https://en.wikipedia.org/wiki/State_machine_replication
  24. Copyright © 2024, Oracle and/or its affiliates 29 What’s NewSQL

    ? Raft アルゎリズム • Leader から Follower に定期的に Heartbeats を送信 • Follower は Leader から䞀定期間 Heartbeats を受け取らなければ Leader が停止ずみなしお、新しい投祚を開始 (Election Timeout) • Heartbeats の実態は、空のログ远加メッセヌゞ (AppendEntries RPC) N2 N3 N4 N5 N1 Heartbeats Leader Follower
  25. Copyright © 2024, Oracle and/or its affiliates 30 What’s NewSQL

    ? Raft Leader Electionリヌダヌ遞挙 • 党おのノヌドは Follower から開始 • 各ノヌドがランダムで持っおいる Election Timeout の期限が終了埌、そのノヌドは Follower から Candidate ずなっお遞挙開始 • Candidate は他のノヌドに RequestVote ずいうRPCをブロヌドキャストする • 過半数の祚を集めたら Leader ずしお遞出される Leader ダりンしお Election Timeout 発生 N2 が Candidate ずなり、各ノヌドに RequestVote RPC をブロヌドキャスト 投祚で過半数を埗た N2 が Leader
  26. Copyright © 2024, Oracle and/or its affiliates 31 What’s NewSQL

    ? Raft Log Replicationログ耇補 • Leader は AppendEntries ずいうログに゚ントリを远加する RPC を Follower に送信 • AppendEntries を受信した Follower は自身のログに゚ントリを远加やコミットを実行 • ゚ントリにはむンデックスなどの情報が含たれおいる N1 N2 N3 N4 N5 2 1 2 3 4 
 N1 N2 N3 N4 N5 2 1 2 3 4 
 2 2 2 2 N1 N2 N3 N4 N5 2 1 2 3 4 
 2 2 2 2 N1 N2 N3 N4 N5 2 1 2 3 4 
 2 2 2 2 Leader が新しい゚ントリを ログに远加する Leader から Follower に新しい゚ントリ を AppendEntries RPC 送信 過半数から゚ントリを远加の応答埌、 Leader がログをコミット 次の RPC を Leader から受け取ったら Follower もログをコミットする Leader Follower
  27. Copyright © 2024, Oracle and/or its affiliates 32 What’s NewSQL

    ? Raft Raft による分散デヌタベヌスシステムにおける䞀貫性ず耐障害性の向䞊 RDBMS 分散トランザクションの䞀貫性 分散された RDBMS 間でのトランザクションの䞀貫性を確保し、デヌタの敎合性を保぀ 障害時の高可甚性 リヌダヌの故障時に迅速に新リヌダヌを遞出し、デヌタベヌスのダりンタむムを最小限に抑えおサヌビスの 継続性を保蚌 NoSQL 曞き蟌み操䜜の䞀貫性 分散ノヌド間での曞き蟌みの䞀貫性ず順序が保蚌、デヌタの信頌性が向䞊 デヌタの冗長性ず耐障害性 ログ耇補によるデヌタの冗長性、単䞀ノヌドに障害が発生しおもデヌタの損倱を防いで、デヌタベヌス党 䜓の耐障害性が匷化 共通 デヌタ敎合性の匷化 分散システム内でのデヌタの敎合性が匷化され、システムの信頌性ず効率が向䞊 システム管理の簡玠化 自動的なリヌダヌ遞出や障害回埩プロセスにより、システム管理が簡玠化され、運甚負荷が軜枛
  28. Copyright © 2024, Oracle and/or its affiliates 34 NewSQL Products

    TiDB TiDBタむデヌビヌず読む、「 Ti 」は Titanium の元玠蚘号が由来か぀堅牢の意味が蟌められおい るは、分散型のリレヌショナルデヌタベヌス。 スケヌラビリティTiDB は、必芁に応じおノヌドを远加するこずで、容易にスケヌルアりト氎平スケヌリング可胜 互換性MySQL ずの高い互換性を持っおいるため、倚くのアプリケヌションで MySQL を TiDB に眮き換えるこずが容易 分散トランザクションACID トランザクションをサポヌトしおおり、分散環境でのトランザクションも安党 分散ストレヌゞTiKV ずいう分散型のキヌ・バリュヌストレヌゞを䜿甚しおおり、倧量のデヌタを高い耐障害性で管理可胜 TiDB は、䌝統的なリレヌショナルデヌタベヌスずは異なり、倧芏暡なデヌタセットや高いトラフィックを持぀環境での䜿甚に適しおいる。 オンラむントランザクション凊理OLTPずオンラむン分析凊理OLAPの䞡方のワヌクロヌドを効率的にサポヌトするハむブリッドトラン ザクション/分析凊理HTAPの特城を備える。 TiDB の䞻な特城
  29. Copyright © 2024, Oracle and/or its affiliates 35 NewSQL Products

    CockroachDB Google の Spanner に觊発されお開発されたオヌプン゜ヌスの分散デヌタベヌス。 ACID トランザクションを備えた分散キヌバリュヌストアであり、高いレゞリ゚ンスを持぀。 スケヌラビリティ氎平方向スケヌリングによる高い耐障害性 互換性PostgreSQL ず互換性のある SQL むンタヌフェヌスを提䟛 分散トランザクション分散環境でも ACID トランザクションを保蚌し、デヌタの敎合性を維持 地理分散デヌタセンタヌやクラりドのネットワヌク分断でも皌働し続ける匷靭なデヌタベヌス P2P アヌキテクチャずゎシッププロトコルにより、䞭倮集暩的な管理なしで運甚が可胜で、ネットワヌクが分断されおも皌働を継続。 RDBMS の敎合性ず NoSQL のスケヌラビリティを組み合わせ、地理的に分散された環境でのデヌタ管理に最適な゜リュヌションを提䟛。 CockroachDB の䞻な特城
  30. Copyright © 2024, Oracle and/or its affiliates 36 NewSQL Products

    yugabyteDB RDB の䞀貫性ず NoSQL の拡匵性を兌ね揃えた分散型 SQL デヌタベヌス。 䞀貫性、拡匵性、高可甚性を兌ね備える。 スケヌラビリティデヌタの量に応じた氎平スケヌルを実珟 互換性PostgreSQL や Cassandra ず互換性がある 分散トランザクション分散デヌタベヌスでありながら、リニアラむザブルな読み曞き䞀貫性を提䟛 地理分散ノヌドを異なるリヌゞョンに配眮し、Active-Active構成のDRを実珟 自動デヌタシャヌディングにより負荷を分散する分散SQLデヌタベヌスでもあり、デヌタのレプリケヌションず自動フェむルオヌバヌで高可甚 性を実珟。匷力な䞀貫性ずクラりドネむティブ蚭蚈を持ち、さたざたなデヌタモデルに察応。 yugabyteDB の䞻な特城
  31. Copyright © 2024, Oracle and/or its affiliates 38 Oracle Globally

    Distributed Database https://atmarkit.itmedia.co.jp/ait/articles/2310/19/news009.html Oracle ACE 枡郚さんず小林さんの察談蚘事 Oracle ACE から芋た、オヌプン゜ヌスのデヌタベヌスの評䟡 小林さん • どの䌁業も最終的には Oracle が提唱する「コンバヌゞドデヌタベヌス」を䜓珟しようずしおいる私芋 • トランザクション、分析、ドキュメント型などビゞネス芁件で必芁ずなる党芁玠をうたく扱う、フル機胜のデヌタベヌス を実珟ずスケヌルアりト構成で支える考え方 枡郚さん • Oracle にも Sharding や Global Database Services ずいう、グロヌバルでスケヌラブルなデヌタベヌスを実 珟しようずいう機胜がある • 党䜓で芋るず同じ方向に向かっおいる デヌタベヌスのプロフェッショナルの お二方の察談は必芋です
  32. Copyright © 2024, Oracle and/or its affiliates 39 Oracle Globally

    Distributed Database ハむパヌスケヌルのグロヌバル分散デヌタベヌス 分散デヌタ管理 • デヌタセットを耇数のシャヌド・デヌタベヌスに分散 • オンプレミスずクラりド䞊のさたざたなコンピュヌタに配眮 マルチモデル・デヌタベヌス • グロヌバルにスケヌラブル • マルチモデル察応で柔軟なデヌタ凊理 専甚ハヌドりェア䞍芁 • 特別なハヌドりェアや゜フトりェアは䞍芁 • SQLのフルパワヌをサポヌト デヌタ䞻暩ず可甚性 • デヌタ䞻暩芁件に察応 • 䜎レむテンシず高可甚性を実珟 デヌタの䞀貫性ず゚コシステム • 匷力なデヌタ䞀貫性 • 構造化デヌタず非構造化デヌタの䞡方をサポヌト • Oracle Database゚コシステムを提䟛 シャヌディングをシヌムレスに デヌタ配信の自動化 デヌタのシャヌディングず再シャヌディングの自動化 Oracle Sharding は、デヌタを目的のシャヌドに自動的に配眮するため、 デヌタを手動で準備する必芁はなく、時間を短瞮できたす。 Oracle Database 23ai https://www.oracle.com/jp/database/distributed-database/#rc30p1 ai
  33. Copyright © 2024, Oracle and/or its affiliates 40 Oracle Globally

    Distributed Database Globally Distributed Autonomous Database グロヌバル芏暡の分散デヌタベヌスをマネヌゞド型クラりドサヌビスずしお運甚を実珟 フルマネヌゞドの利䟿性 • 䜿甚、開発、管理が簡単なフルマネヌゞドクラりドデヌタベヌス 高性胜アヌキテクチャ • シェアヌド・ナッシングずシャヌド・アヌキテクチャに基づく構築 • トランザクション凊理ず分析アプリケヌションでのハむパヌスケヌル性胜 スケヌラビリティず可甚性 • 優れたスケヌラビリティず高可甚性を提䟛 グロヌバルニヌズぞの察応 • デヌタ・レゞデンシヌ芁件の満たしやすさ • グロヌバルに分散するナヌザヌのニヌズに察応 Oracle Sharding Oracle Autonomous Database https://www.oracle.com/jp/autonomous-database/distributed-autonomous-database/ ※Oracle Database19c2024/5時点
  34. Copyright © 2024, Oracle and/or its affiliates 42 TiDB Demo

    TiDB のアヌキテクチャ TiDB は、圹割に応じたコンポヌネントが分散されお配眮されるアヌキテクチャ。 各コンポヌネント内は、耇数ノヌドで冗長化できる仕組みのため、耐障害性の高い構成を組める。 出兞 : https://docs.pingcap.com/ja/tidb/stable/tidb-architecture PD cluster : メタデヌタ管理 デヌタが Storage cluster のどこに配眮されおいるかを 管理したり、ホットスポット発生時にデヌタを分割しお再 配眮などクラスタ党䜓を管理する頭脳圹 Storage cluster : デヌタ栌玍 • TiKVKVSず TiFlash (カラム型)を 䜿甚 • リヌゞョンずいう単䜍で分散配眮。 • リヌゞョンサむズ96MiB(デフォルト)、同じ デヌタが3぀コピヌされる • TiFlashは、TiKVにデヌタが栌玍されるず 非同期でデヌタがコピヌされる TiDB cluster • クラむアントから MySQL のむンタヌ フェヌスで接続を受け付け、発行され た SQL を解析しお Storage cluster からデヌタを取埗しお返すコ ンポヌネント • オプティマむザの機胜があり、SQL ク゚リ の内容によっお Storage cluster 内 の TiKV か TiFlash のどちらからデヌタ を取埗するのがよいかを自動で刀定 • 読蟌曞き蟌み䞡方の SQL ク゚リを受 け付けるこずができる
  35. Copyright © 2024, Oracle and/or its affiliates 43 TiDB Demo

    TiDB の特城 Master Slave MySQL におけるマスタヌずレプリカの構成 運甚における課題 • マスタヌの冗長化 • デヌタの肥倧化に䌎うシャヌディング • レプリカぞの遅延監芖 ・・・ TiDB の分散アヌキテクチャによる こうした課題ぞアプロヌチ
  36. Copyright © 2024, Oracle and/or its affiliates 44 TiDB Demo

    TiDB の特城 マスタヌ冗長化の容易性 TiDB cluster のコンポヌネントは、読蟌ず曞蟌みの SQL ク゚リを凊理できるため、TiDB cluster のコンポヌネントの ノヌドを氎平にスケヌルしお曞き蟌み可胜な゚ンドポむントを容易に増やせる シャヌディング䞍芁 デヌタが肥倧化するずパフォヌマンスが劣化しやすくなるため、 パフォヌマンスを維持するためにデヌタをシャヌディンするケヌ スがある シャヌディングはアプリケヌション偎もシャヌディングロゞックを 理解しおおく必芁があるため、運甚負荷が増す傟向がある TiDBは、デヌタを自動的にリヌゞョンずいう単䜍で分 割されお、Storage cluster に分散しお栌玍 この仕組みによっお、シャヌディング䞍芁
  37. Copyright © 2024, Oracle and/or its affiliates 45 TiDB Demo

    TiDB の特城 効率的なスケヌル TiDBは、コンポヌネント単䜍でスケヌルを実珟できるため、効率的なスケヌルの運甚ができる。 読取/曞蟌の性胜を向䞊 ⇒ TiDB クラスタのコンポヌネント ディスク容量だけ増やす堎合 ⇒ Storage cluster のコンポヌネント 氎平スケヌル • レプリカを䜜成する堎合氎平、同スペックのハヌドりェアを甚意する必芁がある • 性胜を䞊げる垂盎にしおも、ハヌドりェアによる䞊限がある スケヌルする方向は、アりトだけでなくむンも可胜
  38. Copyright © 2024, Oracle and/or its affiliates 46 TiDB Demo

    TiDB の特城 デヌタの反映 Master Slave 反映 • 遅延や停止は臎呜的 • 反映の正垞/異垞の管理は必須 Storage cluster の TiKV ノヌドぞデヌタを反映 デヌタの曞き蟌み TiKV ノヌドが自分以倖 TiKV ノヌドぞコピヌ • 自身ず合わせお3ノヌドにコピヌデフォルト • 必芁なコピヌ数の過半数が曞き蟌たれるず成功ずみなす デヌタの曞き蟌み成功 ↓ デヌタがコピヌされお 配眮完了
  39. Copyright © 2024, Oracle and/or its affiliates 47 TiDB Demo

    TiDB の特城 タむムトラベルク゚リ TiDB では、Storage cluster における TiKV の Multi Version Concurrency Control (MVCC) により、デヌタを 远蚘型に保持しおいるので、過去デヌタの状態を参照可胜 Multi Version Concurrency Control (MVCC) 倚版同時実行制埡、デヌタベヌスのトランザクション の同時䞊行性ず䞀貫性の䞡方を保蚌する仕組み。 MySQL のストレヌゞ゚ンゞンである InnoDB でも 利甚されおいる。 https://dev.mysql.com/doc/refman/8.0/ja/innodb-multi- versioning.html • デヌタの曎新/削陀が行われおも元デヌタが倉わらず、 新しいタむムスタンプず共に远蚘 • デフォルトでは10分前たでのデヌタを保持保持期 間は蚭定倉曎可胜 • FLASHBACK を䜿甚するこずで削陀したテヌブル やデヌタベヌスなど埩元可胜
  40. Copyright © 2024, Oracle and/or its affiliates 48 TiDB Demo

    TiDB ラむンナップ TiDB Serverless TiDB Dedicated OSS (Self-Hosted) • マルチテナント型のフルマネヌゞド TiDB • SLA や性胜に制限あり • 埓量課金 (※5 クラスタ無料) • 専甚 VPC 内に構築するクラりド型のフルマネヌゞド TiDB • ナヌザ専甚環境のため SLA や性胜に制限なし • プラットフォヌムは、AWS ず GCP 2024 幎 5 月時点 • OSS で提䟛されおいる TiDB を自身で管理 • 無償利甚 • ゚ンタヌプラむズプラン契玄でサポヌトあり https://github.com/pingcap/tidb https://pingcap.co.jp/tidb/
  41. Copyright © 2024, Oracle and/or its affiliates 49 TiDB Demo

    TiDB の構築 tiup コマンドによる環境構築 TiDB Operator による Kubernetes 向けの環境構築 • tiup コマンドによる自動構築 • スケヌルアりトおよびスケヌルむン • コンポヌネントのバヌゞョンアップ ※各ノヌドに ssh できる必芁がある ※ tiup コマンドでは K8s に構築できない 2024幎5月 • TiDB Operator による環境構築 • スケヌルアりトおよびスケヌルむン • コンポヌネントのバヌゞョンアップ • TiDB のサスペンド/リストア • モニタリング環境
  42. Copyright © 2024, Oracle and/or its affiliates 50 TiDB Demo

    デモ環境抂芁図 VM.Standard.E4.Flex OCPU x 1 MEM 16GB Canonical Ubuntu 22.04 kind-control-plane kubectl v1.28.1 構築手順等 https://github.com/oracle-japan/ochacafe-s8-4 Namespace : tidb-admin Namespace : default tidb-controller-manager tidb-shceduler sample-tidb-discovery sample-tidb-pd sample-tidb-tidb sample-tidb-tikv
  43. Copyright © 2024, Oracle and/or its affiliates 51 TiDB Demo

    デモ環境抂芁図 VM.Standard.E4.Flex OCPU x 1 MEM 16GB Canonical Ubuntu 22.04 kind-control-plane kubectl v1.28.1 構築手順等 https://github.com/oracle-japan/ochacafe-s8-4 Namespace:default pd-sample-tidb-pd tikv-sample-tidb-tikv PV PVC PV PVC StatefulSet sample-tidb-pd sample-tidb-tidb sample-tidb-tikv
  44. Copyright © 2024, Oracle and/or its affiliates 52 TiDB Demo

    StatefulSet 補足 順序保蚌ず䞀意性: Pod が順番に䜜成され、削陀されるこずを保蚌。これにより、デヌタの敎合性が保たれ、同じ識別情 報で Pod を再起動できる。 安定したネットワヌクID: 各Podに固定のネットワヌク識別子が䞎えられ、その識別子は Pod が再デプロむされおも倉曎さ れない。 氞続ストレヌゞ: 各 Pod に察しお氞続ボリュヌム氞続ストレヌゞを䜿甚でき、Pod が再起動たたは再デプロむされお もデヌタが保持される。 順序付き、グレヌスフルなロヌリングアップデヌト: アプリケヌションの曎新時には、StatefulSet は順序よく䞀぀ず぀ Pod を曎新しおいくため、曎新䞭もシステムの安定性を維持可胜。
  45. Copyright © 2024, Oracle and/or its affiliates 54 TiDB Demo

    TiDB Set Up $ kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.5.2/manifests/crd.yaml Deploy TiDB Operator $ helm repo add pingcap https://charts.pingcap.org/ Install TiDB Operator $ kubectl create namespace tidb-admin $ helm install --namespace tidb-admin tidb-operator pingcap/tidb-operator --version v1.5.2 $ kubectl get pods --namespace tidb-admin -l app.kubernetes.io/instance=tidb-operator NAME READY STATUS RESTARTS AGE tidb-controller-manager-5967c9df78-rqgrh 1/1 Running 0 14s tidb-scheduler-69c6bb7cfb-krp78 2/2 Running 0 14s
  46. Copyright © 2024, Oracle and/or its affiliates 55 TiDB Demo

    TiDB Set Up apiVersion: pingcap.com/v1alpha1 kind: TidbCluster metadata: name: sample-tidb spec: version: v7.4.0 pd: baseImage: pingcap/pd replicas: 3 requests: storage: "1Gi" config: {} tikv: baseImage: pingcap/tikv replicas: 3 requests: storage: "1Gi" config: {} tidb: baseImage: pingcap/tidb replicas: 2 config: {} service: type: ClusterIP config: {} Deploy a TiDB cluster $ kubectl apply -f sample-tidb.yaml $ kubectl get pods NAME READY STATUS RESTARTS AGE sample-tidb-discovery-f74ddf8d-hgzmz 1/1 Running 0 18m sample-tidb-pd-0 1/1 Running 1 (17m ago) 18m sample-tidb-pd-1 1/1 Running 0 18m sample-tidb-pd-2 1/1 Running 0 18m sample-tidb-tidb-0 2/2 Running 0 17m sample-tidb-tidb-1 2/2 Running 0 17m sample-tidb-tikv-0 1/1 Running 0 17m sample-tidb-tikv-1 1/1 Running 0 17m sample-tidb-tikv-2 1/1 Running 0 17m sample-tidb.yaml
  47. Copyright © 2024, Oracle and/or its affiliates 56 TiDB Demo

    TiDB Set Up MySQL Client Access $ kubectl port-forward service/sample-tidb-tidb 14000:4000 > pf14000.out & $ mysql --comments -h 127.0.0.1 -P 14000 -u root Welcome to the MySQL monitor. Commands end with ; or ¥g. Your MySQL connection id is 1805648180 Server version: 8.0.11-TiDB-v7.4.0 TiDB Server (Apache License 2.0) Community Edition, MySQL 8.0 compatible Copyright (c) 2000, 2024, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '¥h' for help. Type '¥c' to clear the current input statement. mysql> SELECT @@VERSION; +--------------------+ | @@VERSION | +--------------------+ | 8.0.11-TiDB-v7.4.0 | +--------------------+ 1 row in set (0.00 sec) mysql> exit Bye
  48. Copyright © 2024, Oracle and/or its affiliates 58 TiDB Demo

    TiDB Scale OUT/IN by TiDB Operator apiVersion: pingcap.com/v1alpha1 kind: TidbCluster metadata: name: sample-tidb spec: version: v7.4.0 pd: baseImage: pingcap/pd replicas: 3 requests: storage: "1Gi" config: {} tikv: baseImage: pingcap/tikv replicas: 3 requests: storage: "1Gi" config: {} tidb: baseImage: pingcap/tidb replicas: 3 #2⇒3に倉曎 config: {} service: type: ClusterIP config: {} Scale OUT sample-tidb.yaml $ kubectl apply -f sample-tidb.yaml $ kubectl get pods NAME READY STATUS RESTARTS AGE sample-tidb-discovery-f74ddf8d-hgzmz 1/1 Running 0 47m sample-tidb-pd-0 1/1 Running 1 (46m ago) 47m sample-tidb-pd-1 1/1 Running 0 47m sample-tidb-pd-2 1/1 Running 0 47m sample-tidb-tidb-0 2/2 Running 0 46m sample-tidb-tidb-1 2/2 Running 0 46m sample-tidb-tidb-2 2/2 Running 0 26s sample-tidb-tikv-0 1/1 Running 0 46m sample-tidb-tikv-1 1/1 Running 0 46m sample-tidb-tikv-2 1/1 Running 0 46m • マニフェストの曎新ず適甚 • kubectl patch コマンドによる適甚 • kubectl edit コマンドによる適甚
  49. Copyright © 2024, Oracle and/or its affiliates 59 TiDB Demo

    TiDB Scale OUT/IN by TiDB Operator Scale IN $ kubectl patch TidbCluster sample-tidb --type merge -p '{"spec":{"tidb":{"replicas":2}}}' $ kubectl get pods NAME READY STATUS RESTARTS AGE sample-tidb-discovery-f74ddf8d-hgzmz 1/1 Running 0 64m sample-tidb-pd-0 1/1 Running 1 (63m ago) 64m sample-tidb-pd-1 1/1 Running 0 64m sample-tidb-pd-2 1/1 Running 0 64m sample-tidb-tidb-0 2/2 Running 0 62m sample-tidb-tidb-1 2/2 Running 0 62m sample-tidb-tikv-0 1/1 Running 0 63m sample-tidb-tikv-1 1/1 Running 0 63m sample-tidb-tikv-2 1/1 Running 0 63m kubectl patch コマンドによるスケヌルむン
  50. Copyright © 2024, Oracle and/or its affiliates 61 TiDB Demo

    TiDB Suspend & Restore by TiDB Operator apiVersion: pingcap.com/v1alpha1 kind: TidbCluster metadata: name: sample-tidb spec: suspendAction: suspendStatefulSet: true #远加 version: v7.4.0 pd: baseImage: pingcap/pd replicas: 3 requests: storage: "1Gi" config: {} tikv: baseImage: pingcap/tikv replicas: 3 requests: storage: "1Gi" config: {} tidb: baseImage: pingcap/tidb replicas: 3 config: {} service: type: ClusterIP config: {} sample-tidb.yaml $ kubectl apply -f sample-tidb.yaml $ kubectl get TidbCluster sample-tidb NAME READY PD STORAGE READY DESIRE TIKV STORAGE READY DESIRE TIDB READY DESIRE AGE sample-tidb True pingcap/pd:v7.4.0 1Gi 3 3 pingcap/tikv:v7.4.0 1Gi 3 3 pingcap/tidb:v7.4.0 2 2 5m44s • マニフェストの曎新ず適甚 • kubectl patch コマンドによる適甚 • kubectl edit コマンドによる適甚 $ kubectl get pods NAME READY STATUS RESTARTS AGE sample-tidb-discovery-f74ddf8d-hgzmz 1/1 Running 0 97m Suspend
  51. Copyright © 2024, Oracle and/or its affiliates 62 TiDB Demo

    TiDB Suspend & Restore by TiDB Operator Restore $ kubectl patch TidbCluster sample-tidb --type merge -p '{"spec":{"suspendAction":{"suspendStatefulSet":false}}}' $ kubectl get pods NAME READY STATUS RESTARTS AGE sample-tidb-discovery-f74ddf8d-hgzmz 1/1 Running 0 110m sample-tidb-pd-0 1/1 Running 0 7m sample-tidb-pd-1 1/1 Running 0 7m sample-tidb-pd-2 1/1 Running 0 7m sample-tidb-tidb-0 2/2 Running 0 6m30s sample-tidb-tidb-1 2/2 Running 0 6m30s sample-tidb-tikv-0 1/1 Running 0 6m47s sample-tidb-tikv-1 1/1 Running 0 6m47s sample-tidb-tikv-2 1/1 Running 0 6m47s kubectl patch コマンドによるRestore
  52. Copyright © 2024, Oracle and/or its affiliates 64 TiDB Demo

    TiDB Upgrade Current Version $ kubectl get TidbCluster sample-tidb -o jsonpath='{.spec.version}' v7.4.0 $ kubectl get TidbCluster sample-tidb NAME READY PD STORAGE READY DESIRE TIKV STORAGE READY DESIRE TIDB READY DESIRE AGE sample-tidb True pingcap/pd:v7.4.0 1Gi 3 3 pingcap/tikv:v7.4.0 1Gi 3 3 pingcap/tidb:v7.4.0 2 2 5m44s Upgrade $ kubectl patch TidbCluster sample-tidb --type=merge -p '{"spec":{"version":"v7.5.0"}}' tidbcluster.pingcap.com/sample-tidb patched Upgrade Watch $ kubectl get Tidbcluster sample-tidb NAME READY PD STORAGE READY DESIRE TIKV STORAGE READY DESIRE TIDB READY DESIRE AGE sample-tidb True pingcap/pd:v7.5.0 1Gi 3 3 pingcap/tikv:v7.5.0 1Gi 3 3 pingcap/tidb:v7.5.0 2 2 16m
  53. Copyright © 2024, Oracle and/or its affiliates 66 TiDB Demo

    apiVersion: pingcap.com/v1alpha1 kind: TidbMonitor metadata: name: tidb-monitor spec: replicas: 1 clusters: - name: sample-tidb prometheus: baseImage: prom/prometheus version: v2.27.1 grafana: baseImage: grafana/grafana version: 7.5.11 initializer: baseImage: pingcap/tidb-monitor-initializer version: v7.5.0 reloader: baseImage: pingcap/tidb-monitor-reloader version: v1.0.1 prometheusReloader: baseImage: quay.io/prometheus- operator/prometheus-config-reloader version: v0.49.0 imagePullPolicy: IfNotPresent tidb-monitor.yaml $ kubectl apply -f tidb-monitor.yaml $ kubectl port-forward svc/tidb-monitor-grafana 3000 TiDB Monitor & Dashboard TiDB Monitor (Prometheus & Grafana)
  54. Copyright © 2024, Oracle and/or its affiliates 67 TiDB Demo

    TiDB Monitor & Dashboard apiVersion: pingcap.com/v1alpha1 kind: TidbDashboard metadata: name: tidb-dashboard spec: baseImage: pingcap/tidb-dashboard version: latest clusters: - name: sample-tidb requests: storage: 10Gi tidb-dashboard.yaml $ kubectl apply -f tidb-dashboard.yaml $ kubectl port-foward svc/tidb-dashboard-tidb-dashboard-exposed 12333 TiDB Dashboard
  55. Copyright © 2024, Oracle and/or its affiliates 69 TiDB Demo

    WordPress on OKE & TiDB Cloud Pod Service https://pingcap.co.jp/tidb-cloud-serverless-pricing-details/ Free : 5 クラスタ無料
  56. Copyright © 2024, Oracle and/or its affiliates 70 TiDB Demo

    WordPress on OKE & TiDB Cloud $ kubectl create secret generic mysql-pass --from-literal=password=TiDB-CLOUD-ROOT-PASSWORD Secret apiVersion: v1 data: password: TiDB-CLOUD-ROOT-PASSWORD kind: Secret metadata: creationTimestamp: "2024-04-01T02:11:48Z" name: mysql-pass namespace: default resourceVersion: "3186" uid: 5cef3e63-e85c-42d1-81ac-07eaaaa5684a type: Opaque ドキュメント : https://pingcap.co.jp/deploy-wordpress-on-tidb-serverless/
  57. Copyright © 2024, Oracle and/or its affiliates 71 TiDB Demo

    WordPress on OKE & TiDB Cloud apiVersion: apps/v1 kind: Deployment metadata: name: wordpress labels: app: wordpress spec: selector: matchLabels: app: wordpress tier: frontend strategy: type: Recreate template: metadata: labels: app: wordpress tier: frontend spec: containers: - image: wordpress name: wordpress env: - name: WORDPRESS_DB_HOST value: <database host url>:4000 - name: WORDPRESS_DB_USER value: <username> - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password - name: WORDPRESS_DB_NAME value: <database name> - name: WORDPRESS_DB_CHARSET value: utf8mb4 - name: WORDPRESS_DB_COLLATE value: utf8mb4_bin - name: WORDPRESS_CONFIG_EXTRA value: "define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);" ports: - containerPort: 80 name: wordpress
  58. Copyright © 2024, Oracle and/or its affiliates 72 TiDB Demo

    WordPress on OKE & TiDB Cloud Service apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 selector: app: wordpress tier: frontend type: LoadBalancer
  59. Copyright © 2024, Oracle and/or its affiliates 75 Community &

    TiDB Cloud Native Database Meetup & TiUG https://cndata.connpass.com/ https://tiug.connpass.com/ • 3幎近く TiDB を䜿っおきた話さくらむンタヌネット • TiDB 甚むンラむンキャッシュ Rest API を Cloudflare Workers ず Momento Cache で䜜った話 • SQL Server から TiDB 移行 • オンプレミス MySQL から TiDB Cloud 移行 • Hbase から TiDB ぞの移行を遞んだ理由 (CyberAgent) • Data Migration ず Changefeed の間 • TiDB×Dataiku で AI の䞖界に入門 • がくらのDB戊略に぀いおSTARFACTORY • マネヌゞド MySQL 提䟛に向けた挑戊 • NewSQL 談矩 #TiUG #CloudNativeDB
  60. Copyright © 2024, Oracle and/or its affiliates 76 Community &

    TiDB Cloud Native Database Meetup & TiUG https://tiug.connpass.com/ • Hbase から TiDB ぞの移行を遞んだ理由 (CyberAgent) • Data Migration ず Changefeed の間 • TiDB×Dataiku で AI の䞖界に入門 ※ Vector Serarch が有効になった TiDB Serverless private beta ぞの申し蟌みが必芁 LangChain / LlamaIndex 察応 2024幎3月時点 最新情報
  61. Copyright © 2024, Oracle and/or its affiliates 77 Community &

    TiDB 私たちはなぜ NewSQL を䜿うのか TiDB 遞定5瀟が語る遞定理由ず掻甚 LT https://findy.connpass.com/event/314602/ • LT1「最近たたに芋かけるTiDBっおなんだ」 PingCAP株匏䌚瀟 • LT2「怜蚌を通しお芋えおきたTiDBの性胜特性」 LINEダフヌ株匏䌚瀟 • LT3「@cosmeのTiDB採甚たでの道のりずか」 株匏䌚瀟アむスタむル • LT4「DMMプラットフォヌムがTiDBを採甚した背景」 合同䌚瀟DMM .com • LT5「コロプラでの長期運甚プロゞェクトでMySQLからTiDB移行の怜蚌に぀いお」 株匏䌚瀟コロプラ • LT6「長期間TiDBを䜿っおきた話」 さくらむンタヌネット株匏䌚瀟 #TiDB_findy
  62. Copyright © 2024, Oracle and/or its affiliates 79 参考資料 クラりドネむティブな

    DB を䜿っおみよう https://speakerdeck.com/makocchi/how-to-use-tidb-with-kubernetes いたこそ NewSQL を䜿っおみよう https://speakerdeck.com/makocchi/lets-try-newsql-now https://docs.pingcap.com/tidb-in-kubernetes/stable/get-started Get Started with TiDB on Kubernetes https://github.com/oracle-japan/ochacafe-s8-4 Oracle Hangout Cafe Season 8 #4 NewSQL TiDB 入門 ~ TiDB ず呚蟺ツヌル矀 ~ https://zenn.dev/koiping/articles/f4b6579f3e6a68 Raft に぀いお簡単に調べた https://naoto0822.medium.com/raft%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E7%B0%A1%E5%8D% 98%E3%81%AB%E8%AA%BF%E3%81%B9%E3%81%9F-2c77dca2e298 論文翻蚳: In Search of an Understandable Consensus Algorithm (Extended Version) https://hazm.at/mox/distributed-system/algorithm/transaction/raft/index.html