$30 off During Our Annual Pro Sale. View Details »

データベース15: ビッグデータ時代のデータベース

データベース15: ビッグデータ時代のデータベース

1. ビッグデータの特徴
2. NoSQL

講義ノートURL
https://dbnote.hontolab.org/content/nosql/01.html

Y. Yamamoto

May 31, 2024
Tweet

More Decks by Y. Yamamoto

Other Decks in Technology

Transcript

  1. 1秒間に⽣成されるソーシャルメディア数 出典: https://spectralplex.com/how-much-content-is-uploaded-to-the-internet-per-second/ X (旧Twitter) Instagram 5800 件/秒 1100 件/秒

    Snapchat 35,000 件/秒 750,000 件/秒 WhatsApp 銀⾏取引 in ⽇本 (= 675万件/⽇) https://www.zenginkyo.or.jp/abstract/efforts/system/zengin-system 78.1件/秒
  2. データの量 1GB x 1 = 1GB 1KB x 1,000,000 =

    1GB … データ集合(集団)の特徴を捉えるには 量(数)がより重要 < データ集合に 関する情報量
  3. ビックデータの特徴 High Volume High Velocity High Variety データの量が圧倒的に多い データの発生頻度が大きい データの発生源/種類が多様

    ビッグデータを扱うサービスでは、データの厳密な⼀貫性 よりも⾼速にデータを処理し結果を返すことが優先される 関係データベースでは 対応が難しい… データの⼀貫性に拘る
  4. 関係データベースとNoSQL 関係 データベース NoSQL ◦ データの正しさを厳密に管理 × 超⼤規模データを扱うのは困難 × 正しさの管理をある程度諦める

    ◦ ⼤規模・多様なデータを ⾼速・柔軟に処理 ▲ 性能向上は スケールアップで対応 ◦ 性能向上は スケールアウトで対応
  5. システムを物理的に性能向上させる⽅法 スケールアップ スケールアウト 計算機のスペックを強化 計算機の台数を増やす CPUなど 強化 計算機を 増やす ◦

    ⼿間が少ない × 性能向上に限度あり × ダウンタイムがある ◦ 性能アップの上限がない × ダウンタイムがない × 分散処理が前提になる
  6. 関係データベースとNoSQL 関係 データベース NoSQL ◦ データの正しさを厳密に管理 × 超⼤規模データを扱うのは困難 × 正しさの管理をある程度諦める

    ◦ ⼤規模・多様なデータを ⾼速・柔軟に処理 相互補完的 RDBとNoSQLはケースに応じて使い分けるべき ▲ 性能向上は スケールアップで対応 ◦ 性能向上は スケールアウトで対応 ビッグデータ対応はNoSQLの⽅が向いている
  7. 様々なNoSQLデータベース key 1 2 key 1 2 key 1 2

    { “student”: { “name”: “⼭畑 滝⼦”, “birthdate”: 2003/12/01”, “gender”: “⼥”, } } { “student”: { “name”: “⼭畑 滝⼦”, “birthdate”: 2003/12/01”, “gender”: “⼥”, } } キー・ バリュー型 列指向 ドキュメント 指向 グラフ 複雑なデータを表現 ⾼速なデータ処理
  8. キー・バリュー型データベース Key Value user_xxxx {address: 瑞穂区, age: 22} user_yyyy {address:

    昭和区, age: 18} user_zzz {age: 29} product_xxx {price: 250} … § 重複のない「キー」と値「バリュー」のペアを格納 § データに厳密な制約を設けない § キー値に対応するバリューを受け取ることに特化 § データ構造の単純化によりデータ処理を超⾼速化
  9. 列指向データベース Key Value cxxx0001 cxxx0002 cxxx0003 … 書籍名 データベース入門 出版日

    2009/05 価格 2200 タイトル はじめての機械学習 出版日 2015/05 著者 北 千種 価格 2500 著者 山畑 滝子 川澄 桜 タイトル データベース講義 出版日 2024/04 価格 xxx 著者 姓 名 山本 祐輔 カラムファミリー カラムファミリー内には カラムを⾃由に設定できる § キー・バリュー型DBの拡張 § バリューの中にキー・バリュー構造のデータを保持 § データ構造を柔軟化しつつ、データ処理を超⾼速化
  10. ドキュメント指向データベース § XMLやJSONなどの⽊構造のデータを管理 § データ追加時にデータ構造を柔軟に変更可能 (多様なデータに対応できる) <students> <student> <name>⼭畑 滝⼦</name>

    <birthdate>2003/12/01</birthdate> <gender>⼥</gender> <department>経済学部</department> </student> <student> <name> <family_name>川澄</family_name> <first_name>桜</first_name> </name> <birthdate>2001/07/07</birthdate> <gender>⼥</gender> <department>医学部</department> <scholarships> <scholarship> <name>YASSO</name> <registered_at> 2023/05/01</resgistered_at> </scholarship> </scholarships> </student> </students> { “students”: [ “student”: { “name”: “⼭畑 滝⼦”, “birthdate”: 2003/12/01”, “gender”: “⼥”, “department”: “経済学部” }, “student”: { “name”: { “family_name”: “川澄”, “first_name”: “桜” }, “birthdate”: 2001/07/07”, “gender”: “⼥”, “department”: “医学部”, “scholarship”: [ “scholarship”: { “name”: “YASSO”, “registered_at”: “2023/05/01” } ] ] } XMLドキュメント JSONドキュメント
  11. グラフデータベース § あらゆるデータをグラフ構造で管理 § エンティティ間にある多様な関係の表現に最適 § グラフ探索アルゴリズムで複雑な問合せも⾼速に処理 愛知県 名古屋 南京

    トリノ シドニー 県庁所在地 姉妹都市 姉妹都市 姉妹都市 ⽇本 県 ラグランジュ アボガドロ 出⾝ 出⾝ 物理 専⾨ 専⾨ 数学 名古屋 ⼤学 国⽴⼤学 ⼩林誠 出⾝校 専⾨