Slide 1

Slide 1 text

NoSQL ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス学部 [email protected] 第15回 データベース 2024年7月29日 〜 ビッグデータ時代のデータベース

Slide 2

Slide 2 text

関係データベース ⼤規模データを 正しく適切に管理・処理 どこまで大規模なデータに耐えられる?

Slide 3

Slide 3 text

情報爆発 → ビッグデータ時代の到来

Slide 4

Slide 4 text

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件/秒

Slide 5

Slide 5 text

単に巨大なデータ ビッグデータ ≠

Slide 6

Slide 6 text

ビックデータの特徴3V Volume Velocity Variety データの量が圧倒的に多い データの発生・更新頻度が大きい データの発生源、データの種類が多様

Slide 7

Slide 7 text

ビックデータの特徴3V Volume Velocity Variety データの量が圧倒的に多い データの発生・更新頻度が大きい データの発生源、データの種類が多様

Slide 8

Slide 8 text

データの量 1GB x 1 = 1GB 1KB x 1,000,000 = 1GB … データ集合(集団)の特徴を捉えるには 量(数)がより重要 < データ集合に 関する情報量

Slide 9

Slide 9 text

ビックデータの特徴3V Volume Velocity Variety データの量が圧倒的に多い データの発生・更新頻度が大きい データの発生源、データの種類が多様

Slide 10

Slide 10 text

データの多様性 … データが多様でないと データ集合から多様な価値を取り出せない < 価値の多様性 …

Slide 11

Slide 11 text

ビックデータの特徴3V Volume Velocity Variety データの量が圧倒的に多い データの発生・更新頻度が大きい データの発生源、データの種類が多様

Slide 12

Slide 12 text

データの発⽣速度(頻度) ある時期のこと しか分からない データの発生頻度が高いと、データ集合の 特徴を時間的な解像度を高く捉えられる < 時間 時間 時間を考慮して, 集団の特徴を捉えられる 有⽤度 (⻑期的な視点,季節要因,リアルタイム性)

Slide 13

Slide 13 text

ビックデータの特徴 High Volume High Velocity High Variety データの量が圧倒的に多い データの発生頻度が大きい データの発生源/種類が多様 ビッグデータを扱うサービスでは、データの厳密な⼀貫性 よりも⾼速にデータを処理し結果を返すことが優先される 関係データベースでは 対応が難しい… データの⼀貫性に拘る

Slide 14

Slide 14 text

関係データベースとNoSQL 関係 データベース NoSQL ○ データの正しさを厳密に管理 × 超⼤規模データを扱うのは困難 × 正しさの管理をある程度諦める ○ ⼤規模・多様なデータを ⾼速・柔軟に処理 ▲ 性能向上は スケールアップで対応 ○ 性能向上は スケールアウトで対応

Slide 15

Slide 15 text

システムを物理的に性能向上させる⽅法 スケールアップ スケールアウト 計算機のスペックを強化 計算機の台数を増やす CPUなど 強化 計算機を 増やす ○ ⼿間が少ない × 性能向上に限度あり × ダウンタイムがある ○ 性能アップの上限がない × ダウンタイムがない × 分散処理が前提になる

Slide 16

Slide 16 text

関係データベースとNoSQL 関係 データベース NoSQL ○ データの正しさを厳密に管理 × 超⼤規模データを扱うのは困難 × 正しさの管理をある程度諦める ○ ⼤規模・多様なデータを ⾼速・柔軟に処理 相互補完的 RDBとNoSQLはケースに応じて使い分けるべき ▲ 性能向上は スケールアップで対応 ○ 性能向上は スケールアウトで対応 ビッグデータ対応はNoSQLの⽅が向いている

Slide 17

Slide 17 text

様々なNoSQLデータベース key 1 2 key 1 2 key 1 2 { “student”: { “name”: “⼭畑 滝⼦”, “birthdate”: 2003/12/01”, “gender”: “⼥”, } } { “student”: { “name”: “⼭畑 滝⼦”, “birthdate”: 2003/12/01”, “gender”: “⼥”, } } キー・ バリュー型 列指向 ドキュメント 指向 グラフ 複雑なデータを表現 ⾼速なデータ処理

Slide 18

Slide 18 text

キー・バリュー型データベース Key Value user_xxxx {address: 瑞穂区, age: 22} user_yyyy {address: 昭和区, age: 18} user_zzz {age: 29} product_xxx {price: 250} … § 重複のない「キー」と値「バリュー」のペアを格納 § データに厳密な制約を設けない § キー値に対応するバリューを受け取ることに特化 § データ構造の単純化によりデータ処理を超⾼速化

Slide 19

Slide 19 text

列指向データベース Key Value cxxx0001 cxxx0002 cxxx0003 … 書籍名 データベース入門 出版日 2009/05 価格 2200 タイトル はじめての機械学習 出版日 2015/05 著者 北 千種 価格 2500 著者 山畑 滝子 川澄 桜 タイトル データベース講義 出版日 2024/04 価格 xxx 著者 姓 名 山本 祐輔 カラムファミリー カラムファミリー内には カラムを⾃由に設定できる § キー・バリュー型DBの拡張 § バリューの中にキー・バリュー構造のデータを保持 § データ構造を柔軟化しつつ、データ処理を超⾼速化

Slide 20

Slide 20 text

ドキュメント指向データベース § XMLやJSONなどの⽊構造のデータを管理 § データ追加時にデータ構造を柔軟に変更可能 (多様なデータに対応できる) ⼭畑 滝⼦ 2003/12/01 ⼥ 経済学部 川澄 桜 2001/07/07 ⼥ 医学部 YASSO 2023/05/01 { “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ドキュメント

Slide 21

Slide 21 text

グラフデータベース § あらゆるデータをグラフ構造で管理 § エンティティ間にある多様な関係の表現に最適 § グラフ探索アルゴリズムで複雑な問合せも⾼速に処理 愛知県 名古屋 南京 トリノ シドニー 県庁所在地 姉妹都市 姉妹都市 姉妹都市 ⽇本 県 ラグランジュ アボガドロ 出⾝ 出⾝ 物理 専⾨ 専⾨ 数学 名古屋 ⼤学 国⽴⼤学 ⼩林誠 出⾝校 専⾨