タグ

RDBMSとDatabaseに関するy_yukiのブックマーク (3)

  • プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空

    zenn.dev を読んでの感想です。「シーケンスナンバーをPKにする」以外の項目については言及しませんが、言及しないことは正当性や妥当性を保証していることにはならないです。 InnoDB(MySQL)を想定してます。が、原理は割と一般的なので他のDBでも適用できることが多いと思います。 追記:一般的とは分散でないような"普通の"RDBMSを想定してましたが、分散システム(distributed systemないしreplicated system)のような場合では話が違います。 なぜシーケンシャルな値がよいか 端的にいうと書き込み操作時にバッファープール(baffuer pool)に読み混む必要のあるページが少なくて済むからです。その結果書き込み操作時にバッファープールにページが存在する可能性が高くレイテンシー的に有利になる可能性が高いです。 バッファープール、ページ、btreeなど具体

    プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空
  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
  • NoSQLデータベースを使い始める前に

    前回はNoSQLデータベースとRDBMSの設計思想の違いを解説しました。今回は、それを踏まえてNoSQLデータベースでデータベースを設計するときに覚えておきたいポイントを解説します。(編集部) NoSQLデータベース設計のセオリーとは? 前回は、NoSQLデータベースが登場してきた背景や、リレーショナルデータベース管理システム(RDBMS)との違いを解説し、いくつかの代表的なNoSQLデータベース製品を紹介しました。長年、データ管理の分野で主役を担ってきたRDBMSはデータ一貫性を強く保持する仕組みを備えていましたが、半面その特徴ゆえにネットワーク上の複数のサーバにデータを分散すると(分散環境)十分に性能を発揮できず、スケールアウトによる性能向上が困難であるという弱点を持っています。 分散環境において高い性能を発揮するNoSQLデータベースの世界では、一体どのような考え方でデータベースを設

    NoSQLデータベースを使い始める前に
  • 1