Bluemo's Brain

Search

Search IconIcon to open search

NoSQL

Last updated Dec 16, 2022 Edit Source

    情報科学の達人.icon [データベース]

    NoSQL

    [データベース]の講義 定義が広い/曖昧? 1998: RDBMSからを除外したを指す用語として定義された 2009: [リレーショナルデータベース]]以外の[[データベース]を指す用語として定義された のための新しい世代の を持つ 強み データ容量が大きい(大量のデータを扱える) ...

    1/3/2023

    の講義

    • 定義が広い/曖昧?

      • 1998: RDBMSからSQLを除外したデータモデル

        データモデル

        の講義 問い 実世界のデータをどのように計算機上で表現するか? 同じモデルでも複数の設計がある中で、適切な設計とは? (entity relationship) entity(実体)とrelationship(実体間の関連)でデータモデルを表現する 表。 ...

        1/3/2023

        を指す用語として定義された
      • 2009: リレーショナルデータベース以外の [データベース]を指す用語として定義された
    • ビックデータ処理のための新しい世代のDMBS

    • BASE特性

      BASE特性

      の場合などに適用される で、AとPを保持している状態 の反対? (ネーミングが天才) システムの一部が落ちても、全体が動き続ける システムのデータが常に変化する ) 最終的にが保証されればOK (ゆるい) 強いが求められる場合(とか)は、 = writeをされた瞬間以降のreadは絶対更新されている Eventual Consisencyだと、そうはならない ...

      1/3/2023

      を持つ

    • 強み

    • 弱み (大体は歴史の浅さが原因)

    • NoSQLのアーキテクチャ: 分散データベース

      分散データベース

      の講義 複数のを利用する と複数のDBMSから構成される クラウドのDB(, とか)もこれ (他の分散DBもこれなのかな?) : データ等を分割して、複数サーバーに割り振る : 各データに対して複数のコピーを作成し、複数サーバーに配置 ...

      1/3/2023

    • データモデル

      データモデル

      の講義 問い 実世界のデータをどのように計算機上で表現するか? 同じモデルでも複数の設計がある中で、適切な設計とは? (entity relationship) entity(実体)とrelationship(実体間の関連)でデータモデルを表現する 表。 ...

      1/3/2023

      • スキーマレス
      • データ構造の最小単位: Aggregate (タプル的な一対一のデータ)
      • 様々なデータモデルが存在する(「NoSQL」はSQLでないというだけの言葉なので)
      • image
        • KVS (Key Value Store)
          • 向いているユースケース
            • Keyのみで情報が一意に特定できる場合
              • ex: ユーザ情報, 商品情報などの参照, 更新
          • 向いてないユースケース
            • 複数のaggregate(key-value pair)の集合演算をしたい場合
            • valueから検索したい場合
        • ドキュメントデータベース
          • json, xmlなど
          • スキーマレスな半構造データ
          • kvsの、valueに対して別のaggregateを置けるようにした物
            • ネストさせている
          • 向いているユースケース
            • スキーマが固定されていないデータの場合
              • ex: イベントロギング, ブログ記事, eコマース
          • 向いてないユースケース
            • 複数のaggregateの集合演算をしたい場合
            • データ構造が定期的に変わる場合 (blu3mo.iconなぜ?)
        • カラムストア
          • ドキュメントデータベースとリレーショナルデータベースの中間的な
          • rowの中にcolumnがある
          • 向いているユースケース
            • スキーマが多くの場合同じだけど、たまに異なることもある場合
              • ex: イベントロギング, コンテンツ管理システム, ブログ管理システム
          • 向いていないユースケース
            • ACID特性

              ACID特性

              の講義 Atomicity 、中途半端にならない これがないと、多様なエラーケースが存在するから大変 Consistency は処理後も保持されている Isolation 、並列実行は直列実行と同じ結果(等価)を保証 ...

              1/3/2023

              が求められる場合
            • 問合せ処理結果の集約演算が必要な場合
            • プロトタイプ(クエリパターンが変わりやすい)の場合
        • グラフデータベース
          • データをグラフ

            グラフ

            プロットするグラフと、のグラフの二つの意味がある このscrapboxでは、のグラフを指す 使用頻度/リンクされる価値はこっちの方が高いかなーと プロットするグラフは、とかの言葉を使う https://ja.wikipedia.org/wiki/グラフ理論 種類 密vs疎 ...

            1/3/2023

            として管理
          • エンティティ間の関連性を保存する
          • プロパティグラフ: グラフのノードと[[辺]]がプロパティ(ラベル、名前とか)を持つ
          • グラフ理論アルゴリズムを応用できる
          • 向いていないユースケース
            • 大規模なバッチ処理が必要な場合
            • 巨大なグラフデータを扱う場合
              • スケーラビリティ確保が難しい
              • なぜなら、NoSQLでよくやる手段(データを分割して分散させる)がやりにくいから