Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?

5,340 views

Published on

ここ20年、データベースと言えば、RDBを主に利用してきましたが、ビッグデータ、クラウド、IoTにおいて、データベースは大きく変化してきています。これから技術者は何を知らなくてはいけないのか、NOSQLは、何故今必要なのか? RDBの技術者の為に、Oracle, Netezza, IBM とRDBMS畑を歩んできて、昨年からNOSQLを始めた講師が、NOSQLとは何か?どのようなものがあるのか?どうやって、どこで利用するのか?を説明いたします。

Published in: Technology

[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?

  1. 1. ©2015 DataStax Confidential. Do not distribute without consent. DataStax 原沢滋 今どうして、NOSQLなのか? RDBエンジニアの為のNOSQL
  2. 2. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLとは? NOSQLとは???
  3. 3. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLとは? NOSQL(一般に”Not Only SQL”と解釈される)とは、リレー ショナルデータベース管理システム (RDBMS) 以外のデータ ベース管理システムを指すおおまかな分類語である。リレー ショナルデータベースをやみくもに使用してきた長い歴史を 打破し、それ以外のデータベースの利用・発展を促進させよ うとする運動の標語としての意味合いを持つ。
 
 有名な実装として、GoogleのBigTable、アマゾンのAmazon DynamoDBなどがある。オープンソースの実装も数多く存在 し、例えばMongoDB、 Redis、Apache HBase、Apache Cassandraなどがある。 出典:Wikipedia, NOSQL
  4. 4. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLとは? NOSQLという用語は1998年、SQLインターフェイ スを持たない軽量な関係データベースのオープン ソースソフトウェアの名前として最初に用いられた。 2009年初頭に開催されたオープンソースの分散デー タベースについての会合において、Rackspaceの従 業員Eric Evansによって再導入された 出典:Wikipedia, NOSQL
  5. 5. ©2015 DataStax Confidential. Do not distribute without consent. 一つ脱線・・・ NOSQL or NoSQL 大文字で全部書く NOSQLと NoSQLとの違いを気にする人もいます。  それは 大文字だと Not Only SQLの NOSQLだけど、 NoSQLだと “No SQL” になると・・・
  6. 6. ©2015 DataStax Confidential. Do not distribute without consent. NOSQL = Not Only SQL Database = RDBMS or
 リレーショナルデータベース以外のデータベース 乱暴にまとめちゃうと NOSQLとは?
  7. 7. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLの種類 NOSQLタイプ 説明 キーバリュー型 多くのNOSQLがKey(キー)を持っていることから、基本は キーバリューに属しているとも言えますがデータの管理、アク セスはキーに対して行い、そのキーに対してバリューが存在 ワイドカラム型 列指向とも言われることもありますが、データはRDBのよう にレコード(行)で管理され、アクセスはキーバリューと同じ キーを使用して列単位でアクセス ドキュメント型 キーに対してバリューではなく、より複雑なドキュメントとし てデータを格納します。JSONといったデータ記述書式で取り 扱うことが可能で、半構造化データの取り扱いを得意 グラフ型 相互に結びついた要素で構成され、それぞれの間に任意の数の 結びつきのあるデータ同士の関係をグラフとして表す
  8. 8. ©2015 DataStax Confidential. Do not distribute without consent. http://blogs.the451group.com/information_management/2012/11/02/updated-database-landscape-graphic/ データベースの分類とNOSQLの分類
  9. 9. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLはどこで使うの? そもそも、NOSQL(RDBMSでないもの)なんてどこで使うの? (Facebook, Amazon, Google, AppleがそもそもなぜNOSQLを使っているのか) LAMPの例:MEAN(MongoDB, Express, AngularJS, Node.js)とは? Webの例:JSON ゲーム会社の例:スキーマレス パフォーマンスチューニングの例:そもそも、リレーショナルモデル? 金融例:トランザクション履歴データをどう保存するか IoT例:センサーデータ、複数ディバイスはどう扱うか MtoM例:どのくらいの量と、スピードが必要ですか? パフォーマンス例: 今までのアプリケーションは遅すぎませんか? 営業例:文鎮
  10. 10. ©2015 DataStax Confidential. Do not distribute without consent. OLTP (RDBMS) DWH (RDBMS) NOSQL OLTP (RDBMS) DWH (RDBMS) Hadoop 分析・データベース オペレーショナル データベース 既存システム(RDB) 新システムへの要求 *データ量 *パフォマンス *柔軟性 *可用性 *値段 分析・データベース オペレーショナル データベース 既存システム(RDB) 新システム(NOSQL) 今までRDB では不可能、又は実現するのに コストが膨大にかかった領域 NOSQLはどこで使うの?
  11. 11. ©2015 DataStax Confidential. Do not distribute without consent. オペレーショナル DB(NOSQL) vs. 分析 DB(Hadoop) オペレーショナルl Database: オンライントランザクション処理に代表される、日々のトラ ンザクション処理を取り扱うデータベース: 例: POSシステム Webの入力システム ATM 等 分析Database: オペレーショナルで集めたデータを一カ所に集約さ せ、データ分析を行う             例:データマイニング、               スコアリング                   BIOperational Database オペレーショナルの世 界で最近になってやっ と新技術が必要な事が 認識され始めた (2006&2007 Google BigTable論文 とAmazon Dynamo論文) NOSQL Analytic Database 分析データベースの世 界は実は10年前から 新技術がどんどん出て きていた。  (2003&2004 Google GFS, MapReduce論文) Hadoop
  12. 12. ©2015 DataStax Confidential. Do not distribute without consent. Relational なのかNOSQLなのか? EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK 7902 80-12-17 800 20 7499 ALLEN SALESMAN 7698 81-02-20 1600 300 30 7521 WARD SALESMAN 7698 81-02-22 1250 500 30 7566 JONES MANAGER 7839 82-04-02 2975 20 7654 MARTIN SALESMAN 7698 81-09-28 1240 1400 30 7698 BLAKE MANAGER 7839 81-05-01 2850 30 7782 CLARK MANAGER 7839 81-06-09 2450 10 7788 SCOTT ANALYST 7566 87-04-19 3000 20 7839 KING President 81-11-17 5000 10 7844 TURNER SALESMAN 7698 81-09-08 1500 0 30 7876 ADAMS CLERK 7788 87-05-23 1100 20 7900 JAMES CLERK 7698 81-12-03 950 30 7902 FORD ANALYST 7566 81-12-03 3000 20 7934 MILLER CLERK 7782 82-01-23 1300 10 DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Relationalの場合 EMP表 DEPT表 select e.empno, e.ename, e.job, e2.ename Mgr, e.hireda te, e.sal, e.comm, e.deptno, d.dname, d.loc from emp e, emp e2, dept d where empno=7369 and e.mgr=e2.empno and e.deptno=d.deptno 7369,‘SMITH’,‘CLERK’,‘FORD’,’80-12-17’,800,NULL,20,’RESEARCH’,’DALLAS’
  13. 13. ©2015 DataStax Confidential. Do not distribute without consent. Relational なのかNOSQLなのか? コンテンツ、データを中心とした場合 INSERT INTO EMPLOYEE (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO,DNAME,LOC) Values (7369,‘SMITH’,‘CLERK’,‘FORD’,’80-12-17’,800,NULL,20,’RESEARCH’,’DALLAS’) EMPLOYEE表 SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO,DNAME,LOC FROM EMPLOYEE WHERE EMPNO=7369; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DNAME LOC 7369 SMITH CLERK FORD 80-12-17 800 20 RESEARCH DALLAS
  14. 14. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLって使えるの? こんな声を聞きませんか?  NOSQL は安全でない… NOSQL は信頼できない… NOSQL は拡張できない… NOSQL は誰も使っていない… っていうかそもそも、NOSQLは分からない! ここがスタート・ポイント(今ここ)
  15. 15. ©2015 DataStax Confidential. Do not distribute without consent. データベースマーケット(20年前) トラディショナル オープンシステム 汎用機DB RDBMS どちらでも よいケース
  16. 16. ©2015 DataStax Confidential. Do not distribute without consent. 規模 小 大 トラディショナル RDBMS 実はEarly Adapterが NOSQL利用 データベースマーケット(今) 汎用機DBは未だに健在 オープンシステム
  17. 17. ©2015 DataStax Confidential. Do not distribute without consent. データベースマーケット(これから) トラディショナル NOSQLRDBMS どちらでも よいケース モノのインターネット(IOT)
  18. 18. ©2015 DataStax Confidential. Do not distribute without consent. ビッグデータ、IoT、クラウド、NOSQL? バズワード!!
  19. 19. ©2015 DataStax Confidential. Do not distribute without consent. 繋がるネット時代の新技術 LAN/WAN
 クライアント/ サーバー
 リレーショナル DBMS(RDBMS) SNA
 階層DB Terminal
 NOSQL DBMS オープンシステム時代 (Oracle,Informix, Sybase等) メインフレーム時代 (IMS,DB2等) もののインターネット(IoT)時代(クラウド、ネットワーク、分散) (Bigdata, Hadoop, Open Source) 1970 年代 1990 年代 2010年以降 IoT, コンテンツの時代 クラウド
 アプリケーションの時代 大きなコンピューターの時代
  20. 20. ©2015 DataStax Confidential. Do not distribute without consent. 繋がるネット時代の新技術 オープンシステム時代 (Oracle,Informix, Sybase等) メインフレーム時代 (IMS,DB2等) もののインターネット(IoT)時代(クラウド、ネットワーク、分散、IoT) (Bigdata, Hadoop, Open Source) 1970 年代 1990 年代 2010年以降 IoT, コンテンツの時代 アプリケーションの時代 大きなコンピューターの時代 リレーショナル DBMS(RDBMS) 階層DB NOSQL DBMS シンプルな作り と単純な業務の 置き換え、記録 のためのデータ ベース アプリケーション構造を 中心としたリレーショナ ルデータモデルのデータ ベース コンテンツ、データを中心に したデータセントリック・ データベース
  21. 21. ©2015 DataStax Confidential. Do not distribute without consent. 第2次 NOSQLブーム? (IoT時代) 幻滅期NOSQL創生 (Bigdata, Web) 日本におけるNOSQLの動き(ブーム?) 2010 2011 2012 2013 2014 2015
  22. 22. ©2015 DataStax Confidential. Do not distribute without consent. NOSQLはあなたの身近にすでにあります テレビを見たり 買い物をしたり Webページをクリックしたり Facebookをしたり、 Twitterをしたり Appleのサービスを利用したり 音楽をオンラインで聞いたり 温度を調整したり すべてのアクションにNOSQLが使われています
  23. 23. ©2015 DataStax Confidential. Do not distribute without consent. 最後に宣伝 明日 9時30分∼
 NOSQL パネルディスカッション 15時30分∼ Cassandraの話をします E35:ポストRDB: Web, IoT, モーバイル時代のデータベース、 Apache Cassandraを学ぼう 16時30分∼ ワークスアプリケーションの新ERP「HUE」 Oracle ->Cassandraののリプレース事例

×