NewSQL、#distributedsql のセルフまとめ

1
前へ 1 2 ・・ 223 次へ
こば -Koba as a DB engineer- @tzkb

更に補足。単一のグローバルコンセンサスプロトコルを用いるCalvinやFaunaDB(どちらも良く知らない)の欠点はスケーラビリティで、500,000TPSまでは達成できたがそれ以上は厳しい可能性がある。

2020-02-03 18:49:41
こば -Koba as a DB engineer- @tzkb

一方、Spanner等のシャード毎に個別のコンセンサスプロトコルを使うNewSQLの欠点は、複数シャードに跨る一貫性の保証に複雑な実装が必要となること。Spannerがこれを解決するために使うのがTrueTime API。これはSW実装だけでなく、GPS・原子時計を使用する特殊なHWも用いている。

2020-02-03 18:55:35
こば -Koba as a DB engineer- @tzkb

SpannerクローンのいくつかではSWのみで一貫性の保証をしようとするが、非常に難しい。C8DBではhybrid logical clocks、Y7DBではHybrid Timeを用いるが、前者ではCが保証できないことを認めている。後者では単一キーにおいてのみCの保証を主張している。

2020-02-03 19:04:23
こば -Koba as a DB engineer- @tzkb

ちなみにこれ書いた人は超つよつよDB研究者。他のブログも後で読もう。 "Abadi has been a recipient of ...... a VLDB Best Paper Award, two VLDB 10 year Best Paper Awards...... and the 2013 VLDB Early Career Researcher Award."

2020-02-03 19:10:48
こば -Koba as a DB engineer- @tzkb

こちらももう少し補足。後半はYugaByteDBがconsistent hash shardingを基本としながら、rangeもサポートすることが説明されている。テーブル定義(DDL)として、PKにHASHを指定したconsistent hash、orderを指定したrangeによるShardingの例がある。

2020-02-03 19:23:20
こば -Koba as a DB engineer- @tzkb

去年OSSコンソーシアムのデータベース部会で話してた「Cassandraにおけるトランザクションとは」のスライドって公開されてないかな。激しく読みたい。 osscons.jp/jobmm09yo-723/…

2020-02-03 21:51:50
こば -Koba as a DB engineer- @tzkb

External Consistencyとか見てると頭が混乱してくるので、これ見て再度勉強。さらに頭は混乱するかも知れない。uncertainty windowと昨日のブログで言及されていたものが緑の太い下線なのかと考えたりしてた。 #distributedsql qiita.com/kumagi/items/3…

2020-02-04 08:46:05
リンク Qiita Eventual Consistencyまでの一貫性図解大全 - Qiita TL;DR; Eventual Consistencyとか言いながらどうせもっとまともな一貫性実装してることはよくあるんだからみんな適切な名前を使おうぜ。 なぜこの記事を書くのか NoSQLの文脈においてスケーラビリティ... 133 users 50
こば -Koba as a DB engineer- @tzkb

ゲーム会社のbillingチームがMySQLの準同期レプリケーションの多数のクラスタから、TiDBに移行した話。VitessやCockroachDBも検討し、MySQL互換や性能・周辺ツールなどからTiDBを選択。ピーク時10k QPS、WriteヘビーなどRDB自体に厳しい要件である。 pingcap.com/success-storie…

2020-02-05 08:42:24
リンク MySQL at Scale. No more manual sharding NetEase Games: Why We Chose TiDB over Other MySQL-based and NewSQL Storage Solutions | TiDB As business boomed, NetEase Games met bottlenecks in database scalability and data isolation. This post introduces why they chose TiDB over other MySQL-based and NewSQL storage solutions to solve their pain points. 1 user 1
こば -Koba as a DB engineer- @tzkb

アプリケーション・パーティショニングにMySQLのクラスタを組み合わせていたが、それぞれのDBで性能・拡張性ともに満たせなくなりつつあった。それをトランザクションサポート、水平スケール可能なNewSQLへの置き換えしている。 #distributedsql

2020-02-05 08:50:20
こば -Koba as a DB engineer- @tzkb

Writeヘビーのワークロードで、MySQLのクラスタではノード数を増やしても性能が出なかった。(InnoDB Clusterなのか、マルチマスターでの評価なのかなどは明記されていない。)TiDBとC8DBでは十分な性能が出ており、VerUPによる更なる改善が検証できているようだ。

2020-02-05 08:54:02
こば -Koba as a DB engineer- @tzkb

結果、TiDBを選択しているが、後半のNewSQLでOLTPもOLAPも対応(いわゆるHTAP)となっているのが少し疑問。集計クエリを上手く捌けるのか、それはrange shardingの特性なのかが気になるところ。またVitessの評価がきちんとされているかも不明。

2020-02-05 08:58:50
こば -Koba as a DB engineer- @tzkb

分かりやすくて良い記事。CassandraはTopology Awareなデータ配置が出来るですね。 twitter.com/ydnjp/status/1…

2020-02-05 12:26:03
Yahoo!デベロッパーネットワーク @ydnjp

\Tech Blog 更新📝/ 書き込みが速いNoSQLデータベースCassandra。膨大なデータをリアルタイムに処理している、ヤフーでの利用例を紹介します。 techblog.yahoo.co.jp/entry/20200129…

2020-01-29 11:09:00
こば -Koba as a DB engineer- @tzkb

GKE上にOpenEBSとYugaByteDBを構築し、データはOpenEBSのCASで永続化するという話。OpenEBSはローカルストレージをコンテナレイヤで冗長化すると理解しているが、性能面が心配。最新バージョンのベンチマークが見たい。 blog.openebs.io/getting-starte…

2020-02-06 09:00:15
リンク Medium Getting Started with OpenEBS and Cloud-Native Distributed SQL OpenEBS is a CNCF project that provides cloud-native, Open Source container attached storage (CAS). OpenEBS delivers persistent block… 17
こば -Koba as a DB engineer- @tzkb

CASについてはこちらも参考になる。というか、OpenEBSのブログ、replica数が1なんだけどそれで良いんだっけ。 qiita.com/ysakashita/ite…

2020-02-06 09:09:44
こば -Koba as a DB engineer- @tzkb

#distributedsql 、色々調べてきたけど、結局kumagiさんのスライドに辿り着いて、まあそうだよなという顔してる。 slideshare.net/kumagi/db-7550…

2020-02-06 19:08:31
こば -Koba as a DB engineer- @tzkb

Spannerと別アプローチで、分散DBのConsistencyを保ちつつレイテンシも改善するFaunaDBの話。従来のreplication/Spanner/over NTPなSpannerクローン(C8DBやY7DB)/Google Percolator利用DB(TiDB)等の問題点と、FaunaDBが何を解決するかが書かれている。 #distributedsql fauna.com/blog/back-to-t…

2020-02-07 08:48:05
リンク Fauna Back to the Future with Relational NoSQL The database renaissance began with the NoSQL movement, broadly, around 2008 as the technical demands of a new wave of consumer internet companies operating at huge scale (Twitter, Facebook, Google, Amazon) outstripped the capabilities of the legacy RDBMS 2 users
こば -Koba as a DB engineer- @tzkb

FaunaDB自体はSQLベースでないのでNewSQLではない。Spannerがpaxosを用いながらGPSと原子時計を用いて実用的なレイテンシに収めているのに対し、CalvinをベースとしたFaunaDBではpreprocessingでトランザクションの順番を決定している。この辺の理解は難しいなぁ。

2020-02-07 08:53:36
こば -Koba as a DB engineer- @tzkb

別ブログの紹介で書いたように、Calvinは単一のRaftグループ、Spannerなどは複数グループとい上違いがあったはず。そのため、Calvinは一定以上にスケールするのは難しいと言及があった。

2020-02-07 08:55:16
こば -Koba as a DB engineer- @tzkb

FaunaDB自体は独自のクラウドサービスとして提供されていて、GraphQLインターフェースを持つことからServerlessなアプリケーションの基盤として注目されているようだ。 dev.classmethod.jp/server-side/fa…

2020-02-07 08:59:11
こば -Koba as a DB engineer- @tzkb

MySQL勢じゃないので、RRはこんな実装なんだと感心してた。トランザクション難しい。 「SERIALIZABLE は(中略)それでも実行順の保証はありません。」 infiniteloop.co.jp/blog/2020/02/m…

2020-02-08 23:20:31
前へ 1 2 ・・ 223 次へ