NoSQL and JavaScript 2013-02-09
Upcoming SlideShare
Loading in...5
×
 

NoSQL and JavaScript 2013-02-09

on

  • 1,059 views

2013年2月9日,九州産業大学『HTML5カーニバル』で使用したスライドです。

2013年2月9日,九州産業大学『HTML5カーニバル』で使用したスライドです。

Statistics

Views

Total Views
1,059
Views on SlideShare
1,024
Embed Views
35

Actions

Likes
1
Downloads
2
Comments
0

3 Embeds 35

http://lanyrd.com 29
https://twitter.com 5
http://feeds.feedburner.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

NoSQL and JavaScript 2013-02-09 NoSQL and JavaScript 2013-02-09 Presentation Transcript

  • NOSQL & JavaScript 4D Japan 原田 光一
  • 4D についてNOSQL: WakandaRDBMS: 4DW3C MEMBER
  • NOSQL View slide
  • NOSQL View slide
  • NOSQL
  • NOSQL
  • SQL トランザクション 強い整合性
  • Webサービス
  • Webサービス大量のデータ素早く処理サービスの更新頻度
  • NOSQLSQLで間に合わない部分ニーズにあったDB
  • NOSQL ファミリードキュメントストアー オブジェクトストアー グラフキー・バリューストアー カラムストアー
  • NOSQL ファミリードキュメントストアー オブジェクトストアー グラフキー・バリューストアー カラムストアー
  • NOSQL ファミリードキュメントストアー オブジェクトストアー グラフキー・バリューストアー カラムストアー
  • NOSQL Facts多くは スキーマ定義不要多くは REST / JSON API を提供多くは JSON を格納多くは JavaScript エンジンを含む多くは JavaScript シェルを提供
  • JavaScript
  • JavaScript エンジン C+ C +SpiderMonkey webkit JavaScriptCore 3 JIT Compilers: SquirrelFish Extreme: SFX aka Nitro TraceMonkey, (JIT Compiler inside) JägerMonkey, IonMonkey Jav C+ a + Rhino V8Interpreted or Compiled execution JIT Compiler: CrankShaft ? Chakra -> Classic JScript, Managed JScript, & JScript.NET C+ ? + Tamarin Carakan JIT Compiler: NanoJIT -> ActionScript / “ECMAScript 4” Previously: Linear A, Linear B, Futhark
  • サーバーサイドJSSpiderMonkey JavaScriptCore Rhino V8 Trident / Chakra
  • JSでDBアクセス
  • キー・バリュー
  • WebStorageW3C / WHATWG HTML5 // set or get items by methods localStorage.setItem("storedItem", "value"); var value = localStorage.getItem("storedItem");local // set or get items using the store as a map localStorage.storedItem = value; var value = localStorage.storedItem;session // accessible only for this session var foo = sessionStorage.bar;storage イベント sessionStorage.bar = foo; // sync interface when data change, even from other window window.addEventListener("storage", handle_storage, false);Note: Firefox used to propose “globalStorage”, Wakanda implements “user.storage” http://www.w3.org/TR/webstorage/
  • Document
  • Indexed DatabaseHTML5 var request = indexedDB.open("MyTestDatabase", 3); request.onerror = function(event) {同期 / 非同期 }; // Do something request.onsuccess with request.errorCode! = function(event) { // Do something with request.result! };インデックス request.onupgradeneeded = function(event) { // Update object stores and indices ....トランザクション } var objectStore = db.createObjectStore("customers", { keyPath: "ssn" });カーソル objectStore.createIndex("name", "name", { unique: false }); objectStore.add({ ssn: "444-44-4444", name: "Bill", age: 35}); var transaction = db.transaction(["customers"], IDBTransaction.READ_WRITE); http://www.w3.org/TR/IndexedDB/
  • Object
  • WakandaDBWebkit JavaScriptCoreREST / JSONデータクラス 自動更新 アクセッサー john = ds.Person.find("fistName eq John"); イベント conferences = john.allConferences; JohnJSConferences = conferences.filter("title == :1", "*JavaScript*"); JSAttendeesJohnMet = JSConferences.allPeople; メソッド http://wakanda.org/