Enviar búsqueda
Cargar
Great BigTable and my toys
•
2 recomendaciones
•
921 vistas
M
mseki
Seguir
RubyKaigi 2009
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 87
Descargar ahora
Descargar para leer sin conexión
Recomendados
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter Bootstrap
Howard Lewis Ship
Potential Friend Finder
Potential Friend Finder
Richard Schneeman
Terraform for fun and profit
Terraform for fun and profit
Bram Vogelaar
The journey of an (un)orthodox optimization
The journey of an (un)orthodox optimization
Sian Lerk Lau
Couchdb
Couchdb
Саги Усаги
The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185
Mahmoud Samir Fayed
The Ring programming language version 1.5.1 book - Part 41 of 180
The Ring programming language version 1.5.1 book - Part 41 of 180
Mahmoud Samir Fayed
mobl
mobl
Eelco Visser
Recomendados
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter Bootstrap
Howard Lewis Ship
Potential Friend Finder
Potential Friend Finder
Richard Schneeman
Terraform for fun and profit
Terraform for fun and profit
Bram Vogelaar
The journey of an (un)orthodox optimization
The journey of an (un)orthodox optimization
Sian Lerk Lau
Couchdb
Couchdb
Саги Усаги
The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185
Mahmoud Samir Fayed
The Ring programming language version 1.5.1 book - Part 41 of 180
The Ring programming language version 1.5.1 book - Part 41 of 180
Mahmoud Samir Fayed
mobl
mobl
Eelco Visser
Productive Programming in Groovy
Productive Programming in Groovy
Ganesh Samarthyam
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
Mahmoud Samir Fayed
Building DSLs with Groovy
Building DSLs with Groovy
Sten Anderson
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
Suyeol Jeon
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
Tomohiro Nishimura
The Ring programming language version 1.4.1 book - Part 12 of 31
The Ring programming language version 1.4.1 book - Part 12 of 31
Mahmoud Samir Fayed
The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31
Mahmoud Samir Fayed
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
RxSwift 시작하기
RxSwift 시작하기
Suyeol Jeon
The Future of JavaScript (SXSW '07)
The Future of JavaScript (SXSW '07)
Aaron Gustafson
Ruby is Awesome
Ruby is Awesome
Astrails
The Ring programming language version 1.5.2 book - Part 43 of 181
The Ring programming language version 1.5.2 book - Part 43 of 181
Mahmoud Samir Fayed
Mongo db mug_2012-02-07
Mongo db mug_2012-02-07
Will Button
360|iDev
360|iDev
Aijaz Ansari
The Ring programming language version 1.5 book - Part 3 of 31
The Ring programming language version 1.5 book - Part 3 of 31
Mahmoud Samir Fayed
Embedding a language into string interpolator
Embedding a language into string interpolator
Michael Limansky
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days Munich
Norberto Leite
The Ring programming language version 1.5.2 book - Part 14 of 181
The Ring programming language version 1.5.2 book - Part 14 of 181
Mahmoud Samir Fayed
The Ring programming language version 1.10 book - Part 50 of 212
The Ring programming language version 1.10 book - Part 50 of 212
Mahmoud Samir Fayed
富蘭克林坦伯頓全球債券基金
富蘭克林坦伯頓全球債券基金
Johnson Chi
Road to Nishinasuno public hall
Road to Nishinasuno public hall
mseki
drb09
drb09
mseki
Más contenido relacionado
La actualidad más candente
Productive Programming in Groovy
Productive Programming in Groovy
Ganesh Samarthyam
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
Mahmoud Samir Fayed
Building DSLs with Groovy
Building DSLs with Groovy
Sten Anderson
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
Suyeol Jeon
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
Tomohiro Nishimura
The Ring programming language version 1.4.1 book - Part 12 of 31
The Ring programming language version 1.4.1 book - Part 12 of 31
Mahmoud Samir Fayed
The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31
Mahmoud Samir Fayed
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
RxSwift 시작하기
RxSwift 시작하기
Suyeol Jeon
The Future of JavaScript (SXSW '07)
The Future of JavaScript (SXSW '07)
Aaron Gustafson
Ruby is Awesome
Ruby is Awesome
Astrails
The Ring programming language version 1.5.2 book - Part 43 of 181
The Ring programming language version 1.5.2 book - Part 43 of 181
Mahmoud Samir Fayed
Mongo db mug_2012-02-07
Mongo db mug_2012-02-07
Will Button
360|iDev
360|iDev
Aijaz Ansari
The Ring programming language version 1.5 book - Part 3 of 31
The Ring programming language version 1.5 book - Part 3 of 31
Mahmoud Samir Fayed
Embedding a language into string interpolator
Embedding a language into string interpolator
Michael Limansky
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days Munich
Norberto Leite
The Ring programming language version 1.5.2 book - Part 14 of 181
The Ring programming language version 1.5.2 book - Part 14 of 181
Mahmoud Samir Fayed
The Ring programming language version 1.10 book - Part 50 of 212
The Ring programming language version 1.10 book - Part 50 of 212
Mahmoud Samir Fayed
La actualidad más candente
(19)
Productive Programming in Groovy
Productive Programming in Groovy
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
Building DSLs with Groovy
Building DSLs with Groovy
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
The Ring programming language version 1.4.1 book - Part 12 of 31
The Ring programming language version 1.4.1 book - Part 12 of 31
The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31
Realm to Json & Royal
Realm to Json & Royal
RxSwift 시작하기
RxSwift 시작하기
The Future of JavaScript (SXSW '07)
The Future of JavaScript (SXSW '07)
Ruby is Awesome
Ruby is Awesome
The Ring programming language version 1.5.2 book - Part 43 of 181
The Ring programming language version 1.5.2 book - Part 43 of 181
Mongo db mug_2012-02-07
Mongo db mug_2012-02-07
360|iDev
360|iDev
The Ring programming language version 1.5 book - Part 3 of 31
The Ring programming language version 1.5 book - Part 3 of 31
Embedding a language into string interpolator
Embedding a language into string interpolator
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days Munich
The Ring programming language version 1.5.2 book - Part 14 of 181
The Ring programming language version 1.5.2 book - Part 14 of 181
The Ring programming language version 1.10 book - Part 50 of 212
The Ring programming language version 1.10 book - Part 50 of 212
Destacado
富蘭克林坦伯頓全球債券基金
富蘭克林坦伯頓全球債券基金
Johnson Chi
Road to Nishinasuno public hall
Road to Nishinasuno public hall
mseki
drb09
drb09
mseki
The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.
mseki
toRubyKaigi02 LT - Trailler
toRubyKaigi02 LT - Trailler
mseki
TDD and me trailler
TDD and me trailler
mseki
Untitled
Untitled
mseki
Destacado
(7)
富蘭克林坦伯頓全球債券基金
富蘭克林坦伯頓全球債券基金
Road to Nishinasuno public hall
Road to Nishinasuno public hall
drb09
drb09
The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.
toRubyKaigi02 LT - Trailler
toRubyKaigi02 LT - Trailler
TDD and me trailler
TDD and me trailler
Untitled
Untitled
Similar a Great BigTable and my toys
Useful javascript
Useful javascript
Lei Kang
Python for High School Programmers
Python for High School Programmers
Siva Arunachalam
python beginner talk slide
python beginner talk slide
jonycse
Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Yury Chemerkin
Is Haskell an acceptable Perl?
Is Haskell an acceptable Perl?
osfameron
NUS iOS Swift Talk
NUS iOS Swift Talk
Gabriel Lim
A Few of My Favorite (Python) Things
A Few of My Favorite (Python) Things
Michael Pirnat
Cascading
Cascading
nathanmarz
Oracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
Dimitri Gielis
Ruby Language - A quick tour
Ruby Language - A quick tour
aztack
Tokyo r18
Tokyo r18
Takashi Minoda
Brief intro to clojure
Brief intro to clojure
Roy Rutto
R v01 rprogamming_basic01 (R 프로그래밍 기본)
R v01 rprogamming_basic01 (R 프로그래밍 기본)
BuskersBu
2015 10-7-9am regex-functions-loops.key
2015 10-7-9am regex-functions-loops.key
Yannick Wurm
Erlang for data ops
Erlang for data ops
mnacos
C Code and the Art of Obfuscation
C Code and the Art of Obfuscation
guest9006ab
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
Spark Summit
Python: The Dynamic!
Python: The Dynamic!
Omid Mogharian
Thinking Functionally In Ruby
Thinking Functionally In Ruby
Ross Lawley
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
Similar a Great BigTable and my toys
(20)
Useful javascript
Useful javascript
Python for High School Programmers
Python for High School Programmers
python beginner talk slide
python beginner talk slide
Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Is Haskell an acceptable Perl?
Is Haskell an acceptable Perl?
NUS iOS Swift Talk
NUS iOS Swift Talk
A Few of My Favorite (Python) Things
A Few of My Favorite (Python) Things
Cascading
Cascading
Oracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
Ruby Language - A quick tour
Ruby Language - A quick tour
Tokyo r18
Tokyo r18
Brief intro to clojure
Brief intro to clojure
R v01 rprogamming_basic01 (R 프로그래밍 기본)
R v01 rprogamming_basic01 (R 프로그래밍 기본)
2015 10-7-9am regex-functions-loops.key
2015 10-7-9am regex-functions-loops.key
Erlang for data ops
Erlang for data ops
C Code and the Art of Obfuscation
C Code and the Art of Obfuscation
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
Python: The Dynamic!
Python: The Dynamic!
Thinking Functionally In Ruby
Thinking Functionally In Ruby
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Último
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
MasterG
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
AnitaRaj43
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Paige Cruz
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
Safe Software
AI mind or machine power point presentation
AI mind or machine power point presentation
yogeshlabana357357
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
Srushith Repakula
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
FIDO Alliance
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
TopCSSGallery
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
FIDO Alliance
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
jbellis
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
danishmna97
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
中 央社
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
AnubhavMangla3
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
GDSC PJATK
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
marcuskenyatta275
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
Lorenzo Miniero
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
Pixlogix Infotech
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
FIDO Alliance
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
Último
(20)
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
AI mind or machine power point presentation
AI mind or machine power point presentation
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
Great BigTable and my toys
1.
RubyKaigi2009
COBOL seki@druby.org
2.
3.
4.
3360
dRuby • Web • Pragmatic Bookshelf •
5.
$32.00 • International Journal
of PARALLEL PROGRAMING
6.
!?
7.
MapReduce Rinda
8.
9.
10.
11.
12.
13.
(map, reduce) map reduce
14.
15.
key value [
, ] [ , ID]
16.
map()
["Applied", 1] ["rb_binding_new", 1] ["ruby", 1] ["eval", 1] ["Communication", 1] ["void", 1] ["if", 1] ["c", 1] ["Laboratory", 1] ["NORETURN", 1] ["defined", 1] ["void", 1] ["Author", 1] ["Inc", 1] ["void", 1] ["__APPLE__", 1] ["Init_heap", 1] ["nobu", 1] ["Copyright", 1] ["rb_raise_jump", 1] ["define", 1] ["void", 1] ["created", 1] ["C", 1] ["VALUE", 1] ["environ", 1] ["void", 1] ["at", 1] ["2000", 1] ["ID", 1] ["_NSGetEnviron", 1] ["Init_BareVM", 1] ["Thu", 1] ["Information", 1] ["rb_frame_callee", 1] ["elif", 1] ["void", 1] ["Jun", 1] ["technology", 1] ["void", 1] ["defined", 1] ["void", 1] ["10", 1] ["Promotion", 1] ["VALUE", 1] ["_WIN32", 1] ["ruby_init", 1] ["14", 1] ["Agency", 1] ["rb_eLocalJumpError", 1] ["extern", 1] ["void", 1] ["22", 1] ["Japan", 1] ["VALUE", 1] ["char", 1] ["static", 1] ["17", 1] ["include", 1] ["rb_eSysStackError", 1] ["environ", 1] ["int", 1] ["JST", 1] ["eval_intern", 1] ["define", 1] ["endif", 1] ["initialized", 1] ["1993", 1] ["h", 1] ["exception_error", 1] ["char", 1] ["0", 1] ["Copyright", 1] ["include", 1] ["GET_VM", 1] ["rb_origenviron", 1] ["int", 1] ["C", 1] ["iseq", 1] ["special_exceptions", 1] ["void", 1] ["state", 1] ["1993", 1] ["h", 1] ["ruby_error_reenter", 1] ["rb_clear_trace_func", 1] ["if", 1] ["2007", 1] ["VALUE", 1] ["include", 1] ["void", 1] ["initialized", 1] ["Yukihiro", 1] ["proc_invoke", 1] ["eval_error", 1] ["void", 1] ["return", 1] ["Matsumoto", 1] ["VALUE", 1] ["c", 1] ["rb_thread_stop_timer_thread", 1] ["initialized", 1] ["Copyright", 1] ["VALUE", 1] ["include", 1] ["void", 1] ["1", 1] ["C", 1] ["VALUE", 1] ["eval_jump", 1] ["void", 1] ["rb_origenviron", 1] ["2000", 1] ["VALUE", 1] ["c", 1] ["rb_call_inits", 1] ["Network", 1] ["VALUE", 1] ["initialize", 1] ["void", 1]
17.
map()
reduce() ordered list BigTable
18.
map key
value key value [ , ]
19.
reduce() ["ANYARGS",
1] ["Author", 1] ["ANYARGS", 1] ["Author", 1] ["Communication", 1] ["ANYARGS", 1] ["Bignum", 1] ["Communication", 1] ["ANYARGS", 1] ["Bignum", 1] ["Copyright", 1] ["ANYARGS", 1] ["Binding", 1] ["Copyright", 1] ["ANYARGS", 1] ["Binding", 1] ["Copyright", 1] ["ANYARGS", 6] ["C", 1] ["Copyright", 3] ["ARGV", 1] ["C", 1] ["EXEC_EVENT_HOOK", 1] ["ARGV", 1] ["C", 1] ["EXEC_EVENT_HOOK", 1] ["Adds", 1] ["C", 3] ["EXEC_TAG", 1] ["Adds", 1] ["CONST_ID", 1] ["EXEC_TAG", 1] ["Agency", 1] ["CONST_ID", 1] ["EXEC_TAG", 1] ["Agency", 1] ["Call", 1] ["EXEC_TAG", 1] ["Applied", 1] ["Call", 1] ["EXEC_TAG", 1] ["Applied", 1] ["Can", 1] ["EXEC_TAG", 1] ["ArgumentError", 1] ["Can", 1] ["EXEC_TAG", 1] ["ArgumentError", 1] ["Can", 2] ["EXEC_TAG", 1] ["ArgumentError", 2] ["Check_Type", 1] ["EXEC_TAG", 1] ["Array", 1] ["Check_Type", 1] ["EXEC_TAG", 1] ["Array", 1] ["Check_Type", 1] ["EXEC_TAG", 1] ["Array", 1] ["Check_Type", 3] ["Array", 3]
20.
key
21.
group_by
22.
COBOL RubyKaigi2009
COBOL
23.
key
24.
25.
[key, value]
↑
26.
27.
Rinda
28.
tuple, tuple space out,
in rd
29.
Tuple Space
Engine Client Engine TupleSpace Client Engine
30.
Ruby
Linda dRuby Tuple Array
31.
Tuple [:chopstick, 2] [:room_ticket] [‘abc’, 2,
5] [:matrix, 1.6, 3.14] [‘family’, ‘is-sister’, ’Carolyn’, ’Elinor’]
32.
Tuple
=== case equals Regexp, Range, Class nil
33.
Pattern [/^A/, nil, nil] [:matrix,
Numeric, Numeric] [’family’, ’is-sister’, ’Carolyn’, nil] [nil, ’age’, (0..18)]
34.
[’seki’, ’age’, 20] >>
require ‘rinda/tuplespace’ >> ts = Rinda::TupleSpace.new >> ts.write([’seki’, ’age’, 20]) >> ts.write([’sougo’, ’age’, 18]) >> ts.write([’leonard’, ’age’, 18]) >> ts.read_all([nil, ’age’, 0..19]) => [["sougo", "age", 18], ["leonard", "age", 18]] >> ts.read_all([/^s/, ’age’, Numeric]) => [["seki", "age", 20], ["sougo", "age", 18]]
35.
>> ts.write([:seki, :age,
20]) => #<Rinda::TupleEntry:...> >> TupleSpace :seki :age 20
36.
>> ts.write([:seki, :age,
20]) => #<Rinda::TupleEntry:...> >> TupleSpace >> ts.take([:seki, :age, nil]) => [:seki, :age, 20] >> :seki :age 20
37.
>> ts.take([:seki, :age,
nil]) TupleSpace
38.
>> ts.take([:seki, :age,
nil]) >> ts.write([:seki, :age, 20]) TupleSpace => #<Rinda::TupleEntry:...> >> :seki :age 20
39.
>> ts.take([:seki, :age,
nil]) >> ts.write([:seki, :age, 20]) TupleSpace => #<Rinda::TupleEntry:...> >> => [:seki, :age, 20] >> :seki :age 20
40.
toRuby
41.
Rinda MapReduce
42.
[String, Integer] map reduce
43.
while line =
gets line.scan(/w+/) do |w| ts.write([w, 1]) end end
44.
word = ts.read_all.sort_by
{|t| t[0]}.first[0] ‥ O(n)
45.
ary = ts.read_all([word,
nil])
46.
ts.read_all.sort_by {|t| t[0]}.first
!! O(n)
47.
48.
hash.keys.sort
keys.sort key hash key
49.
Hash TupleSpace key
key key read_all, keys
50.
51.
52.
53.
reduce
Linda
54.
RDB
55.
Ruby Hash
56.
Hash key-values key
key
57.
key
58.
ID
59.
[
, ID ]
60.
http://chalow.net/2008-01-18-1.html [ ]
61.
and, or
62.
ID
63.
[[
, ID], nil] key value key
64.
65.
BigTable Tokyo Cabinet RBTree
66.
QDBM
B+ key String C
67.
sqlite→QDBM→Tokyo Cabinet OODB Ruby
key, value key value
68.
# memory [“m.#{oid}”, class.to_s] #
property [“p.#{oid}@#{name}”, Marshal.dump([klass, value])] key
69.
OODB dRuby
OODB Koya
70.
Ruby transaction
71.
RB
(≠Ruby ) Key Ruby Object - MultiRBTree Ruby
72.
dRuby
in-memory + logging memcached ( )
73.
dRuby dRuby
74.
FUD
75.
76.
!!!
77.
CVS
! add/delete add/delete commit
78.
akr
Ruby/CVS add/delete
79.
80.
,v
81.
[[word, doc_id, rev_id,
mode, lineno], nil] , ID, revision ID, add|del|log,
82.
Tokyo Cabinet BDD
WEBrick::CGI 4 cgi
83.
10
84.
> Google
85.
86.
3360
dRuby • Web • Pragmatic Bookshelf •
87.
RubyKaigi2009
COBOL
Descargar ahora