ºÝºÝߣ
Submit Search
NoSQL ??? ??
?
119 likes
?
21,203 views
Wonchang Song
Follow
NoSQL ??? ??
Read less
Read more
1 of 76
Download now
Downloaded 460 times
More Related Content
NoSQL ??? ??
1.
NoSQL ??? ?? myrisinsun@gmail.com
2.
??????.. NoSQL Distilled? - ????
???? ??? ??? ???? ???? ????, ?? ??? ? ???? ?? ???? ?? ?? ? ??? ??? ??? ?? ??!! ¡°??? ? ?? ???? ?? ?? ?? ? ??? ???? ??? ????.¡±
3.
???? ?? ????? ????
????? ???... ¡°MySQL ??? Oracle ???¡± ??? ??? ??? ??????== ?? ???? ??? ???? ???? ?????...
4.
Relational Database??? ??????? ???
? ??? ??? ??? ??? ??? ?? ??? ?? ??? ???? ???? ?? ??? ??? ????, ???? ???? ???? ????? ???? ????? ??? ???, ?? ??????? ? ? ??????? ?????? ?? ??? ???? ??? ??? SQL ???? ???? ??? ??? ?? ??? ??.
5.
??? ????? ??,
????? ????? ??...? ??? ? ???? ??? ??? ??? ?? '??-?? ???' ??? ?? ????#1 ????#2 ????#3 ???? ??? ?? TB_USR? TB_USR_ADDR? TB_USR_ORDER_MASTER? TB_USR_ORDER_DETAIL? TB_USR_ACCNT? ...? ..? .
6.
1990??? ???? ?????? ????
?????? ???? ??? ???? ??? ? ???,? ???? ??? ??? ???,? ???? ??????? ???? ???. ¡°OODB? ??? ??? ?? ???¡±? http://hkpark.netholdings.co.kr/web/inform/default/inform_view.asp? menu_id=9730&id=24304&parent_id=24303
7.
(??? ???)? ??? ???
????? ?? ?? ??? ????? ?.?.?.?.! ??? ¡®?? ??????¡¯?? ? ??? ?? ???.? ? '?? ??????'?
8.
'?? ??????'? ? ?? ??
???????? ??????? ??.? ?? ????? ??? ??, ??? ???? IntegrationDatabase by Martin Fowler? http://martinfowler.com/bliki/IntegrationDatabase.html ????? ???? ???? ?????
9.
'?? ??????¡¯? ???
?? ??? ??. ? ?? ??????? ?? ??? ??? ???? ? ???? ???? ??? ??? ???? ??? ??? ? ??. (???, ???..)? ??? ??? ?? ??? ?? ?? ???.. ?? ??????? ? '?????? ??????¡¯!!
10.
'?????? ??????'? ? ? ????????
??/???? ??????? ??? ???????? ??? ???? API(http)!! ApplicationDatabase by Martin Fowler? http://martinfowler.com/bliki/ApplicationDatabase.html ????? ???? ???? ????? API
11.
???..? ? ???? ??? ??????
????? ????? ???? ??! ?? ??? ???? ???? ??? -> ??? ??, ??? ??? ??? -> ???? ?? ???? ?? ??. (Scale-Out)? ? ??? ??..? ? '??? ??????'
12.
??? ??????? ?????
?? ??. ?????? ????? ???? ??.? Oracle RAC ? ??? '?? ??? ??'? ??.? ????? ??? ? ?? ?? ???? ????? ??? ?????? ??? ?? ??? ? ??? SPOF! ??? ??? ????....? ?????? ???? ???? ?? ????. ???? ??? ??
13.
???..? ? ?? ??? ???
??? ?? ?? ??? ???? ??.? ? ?? Google, Amazon. ???? ??? ?? ??? ??? ?????? ?? ? ?? ???? ??, ?????? ??? ???? ?? ??? ???? ??
14.
???? NoSQL ???.. NoSQL? 1998?
'NoSQL' ??? ???? ??. ??? ?? ??? ??? ??? NoSQL? ??. RDBMS ??? NoSQL? http://en.wikipedia.org/wiki/Strozzi_NoSQL_(RDBMS)
15.
?? ???? NoSQL
??? ??(?)?? 2009? ?? ?????? ??? ??? ??? ???? ?? ?? ??? ?? ??? ???? -??? ?? ??? ?? ??? -?? ???? ??? -?? ??? ??? ?? ??? ??? ??? NoSQL ?? ???? ?? ?? ??? ??? ??? ????.
16.
NoSQL?? ????? ???? ???
??,? ??? ??? ???? ??. ??? ?? ???? 'open source, distributed, non-relational¡¯? ???,? Voldemort, Cassandra, Dynomite, HBase, Hypertable, CouchDB?? ???. NoSQL? ??? '??'?????? ???? ??? ???? ? ??. san francisco nosql meetup? http://www.eventbrite.com/e/nosql-meetup-tickets-341739151? http://www.johnandcailin.com/blog/john/san-francisco-nosql-meetup
17.
NoSQL? ???? ?? ?
??? ??? ???? ??? ? ?????? ? ???? ? ????? ? 21?? ? ??? ?? ?????. ? ???? ??
18.
NoSQL? ???? ?
??? ?? ???? ??? ??????? ???? ?? ?????.? (???, ???, ??? ??, ?? ??? ???..) ???! ?? ??? ???? ? ? ??? ???????? '??'?? '???'?? ???.
19.
PolyglotPersistence? http://martinfowler.com/bliki/PolyglotPersistence.html ?? ??? ???(Polyglot
Persistence)? ???? ??? ???? ?? ????? ?? ?? ??? ???? ???? ?. (Image. http://martinfowler.com/bliki/PolyglotPersistence.html
20.
NoSQL ? ?????
?? ? ???? '??? ??? ??'? ??????. NoSQL ? 4?? ??? ?? ?-? ?? ?? ??? ??? ¡®???¡¯? ??? 3??? ¡®?? ??¡¯? ??? ??.? ?? ???
21.
?? ??(Aggregate Orientation) '??'
DDD(??? ?? ??)?? ?? ??.? '??? ??? ?? ??? ??? ??'? ??. ?? ??? ???? ???? '??' ??? ??? ??? ??? ?? ???? ?? ??? ??? ???? ???? ???? ??. (? ??? ???)? ?? ??(?)? '??(Aggregate)'?? ??? ??
22.
???? ??? ???
?????? ??? ?? ??. ?? ???? ?? ??? ???? ?? (Image. http://martinfowler.com/bliki/AggregateOrientedDatabase.html)
23.
???? ???? ???? ??
?? ???? ??? ???? ??? ? ??(Querying)??? ?? ???? ??? ???. ?? ??? ????? ??? ??? ??? ??? ???? ??????? ??.? (?? ? ?? ??)
24.
?? ?? ????
?? ??? ??? ???? ??? ?????? ?? ????? ?? ??? ??? ?? ??? ??? ??? ????? ?? ?? or ?? ?? ? ??. ???? ??????? ?? ??? ?? ????? ???? ??.? ??? ??? ?? ??? ??? ??? (?? ?? ??? ?????? ?? ???? ?????) *???? ???? ??? ??? ? ???? ?? ??? ??? ???.? ?? ????? ??? ??? '??'? ??? ???? ?????!
25.
4? ??? ?? ?
?-? ?? ? ?? ??? ?? ? ?? ??? ?? ? ??? ??
26.
? ?-? ???
??(Key-Value) (Image. http://scraping.pro/where-nosql-practically-used)
27.
? ?? ???
??(Document) (Image. http://www.couchbase.com/cn/why-nosql/nosql-database)
28.
?-? ??, ??
??? ?? ???? ? ??? ???? ??? ???? ?? ???? ?? ??? ?-? ??????: ?? ??? ???? ??? ?? ??. ??? ??? ????? ??? ? ??. ?? ??? ???: ?? ??? ??? ??? ??? ???? ??? ??? ? ??. ?? ??? ???? ??? ???? ??? ??? ???? ??? ? ? ? ?? ??? ?-? ??????? ????? ??? ???? ???? ??? ??? (?: String, int, hashMap, List...)
29.
???..? ?-? ???? ??
??? ??? ? ??? ?? ????. ?? ??????? ?-? ????? ???? ?? ID?? ???? ???? ??(key-value)? ??? ???? ?? ? ??? ?? ?? ???? ??? ?? ??? ???? ???..? ?-? ??? ?????? ?? ?? ??? ??? ?? ????????? ?? ?? ??? ??? ???? ??
30.
?? ??? ??(Column
Family) ??? ??????? table ?? ????,? ??? HashMap ??? ???? ???. Row Key1 ?? ??? ??? abc@g Column Key Column Value Column Family Row Key2 ?? ??? ?? ???.. Column Key Column Value ¡¡ ¡¡
31.
???.. Super Column
Family? ??? ?? ??? ? ??? ????? ??. Row Key1 ?? ??? ??? abc@g Super Column1 ??1 ¡ ??#2 ¡ Super Column2
32.
?? ??? ???????? ????
?? ?? ???? ??. ?????? ?? ???? ??? ?????? ?? ?? ???? ????? ???. ?? (????! ?? ???)? ???? ?? ??? ?? ?? ????,? ? ??? ???? ???? ??, ????.
33.
???? ???? 2??
?? ?-??? ? ?? ??.? ?? ???? ? ?? ?? ???? ??? ???(????, ????)? ?? ?(??)-??? ?? ???? ??? ??? ??? ?? ?? ?? ???? ???? ??? ??? ??.
34.
??? ??(Graph) '??'? ???
??.? '???'? ??? ??? ????? ??? ??.? ??(??)? ??(?????)?? ??? ???? ??. ? ??? ZionT ?????? FAVORITE FAVORITE FAVORITE FRIEND FAVORITE
35.
?? ??? ?????
??? ????? ?? ???? ?? ???? ???.? ?? ???? ?? ??? ????? ?? ??! ???? ????? ?? ???? ???? ??? ?? ????? ??? ???? ACID???? ??.? ??? ??? ?? ?? NoSQL? ??? ??? 3?? ??? ??? ??.? ? ?? ???? ????? -??? ??? ???? ??? -NoSQL? ???? ??? ??? ??????
36.
??.. ???, ????
??? ????? ??????? ??? ???? ???? ->? ???? ???? ??. (??, ??..)? (???) ??? ?? ??? ?? ??? ???? ???? ???? Null ?? ??? ???..? ??? ??.
37.
????? ?? ???? ????
?????? ?? ??? ??? ???? ?????. ??? ???????? -> ?????? ???? ???? ????!! ???? ???? ?? ??? ?????? ??? ??? ???.? ?? ?? ??? ??????.. ???? ?? ? ???
38.
??? '??? ?'? ???
??????? ??? ?(Materialized View)? ??? NoSQL??? ??. ??? ?????????? ?? ?? ????? ??? ?? ???? ???? ??.? NoSQL ?? ??? ??? ??. NoSQL?? ??? ? ????? -?? ??? ??? ??? ? ??.? (???? ??? ?? ??)? -?? ???? ?? ???? ??? ? ??? (??? ?? ???? ??)
39.
?? ?? or
?? ??? ???? ??? ? ??.? '??' ????(scale up)? ??? ??? ??? ???? ??? ?? ???. ????(scale out)? ????? ??? ??? ??? ??? 1? 2?. ???? + ???? ??. ??? ???? ???? ??!? ??? ?? ?? ??? ??????. ???.. ?? ???? ????? ??? ???~ :)
40.
???.. NoSQL? ????
??? ? ??? ???????? ??? ??????. ????? ??? ??? ?? ?? ?? ??(Replication)? ?? ???? ?? ??? ???? ??. ??(Sharding)? ???? ???? ?? ?? ??? ??? ??. ??? ???? ??? ????? ?? ?? ??? ??.
41.
A ~ E ??(Sharding) ????
??? ??? ??? ??. Node1 F ~ J Node2 U ~ Z NodeX ¡¡¡ ?? ?? Apple ¡ ¡ Juice ¡ ¡ University ¡ ¡
42.
???? ? ??? ??????? ??.
??? ?? ??.? ??? ?? ?? ??. ?? ??? ??? ???. ??? ??? ???? ??? ?? ???.(??? ???? ???)? ?? ???? ???(??)? ?? ??? ??.? ??? ??? (??) ??? ???? ??. (global???)
43.
??#1. ???-???? ?? ?????
???? ??. SPOF? ????? ???->???? ? ??. ???? ??? ??? ???, ?????? ??. ??? ??? ?? M S S ?? ?? Read/Write Read Read
44.
??#2. ??-?-?? ?? ????
???? ??, ?? ??? ?? ? ?? ???? ?? ??? '?? ??¡¯ ??. ?? ???? ?? ???? ?? Node Node Node ?? ?? ??
45.
??? ???????? ???? ????
??? ? ????!!! ???? NoSQL??? ???? ? ??? ??.
46.
???? ???? ?? ??(write-write
conflict) ???A? ??? ??? ???B? ?? ???? ?? ??.? (??? ????? ???? ???) Node ???A ???B Apple ¡ ¡ ???A???B
47.
??? ??? ?????
?? ?? ??? ??(Pessimistic)? ??? ???? ?? ??? ??.? ?? ??? Lock? ???? ?? ??? ??? ??? ??.? ???..? ?? ??? ?? Lock ?????? ???(?????? ?? ??)? ????? ?? ?? ?? ??
48.
??? ??(optimistic)? ??? ?????
??? ?? ???? ??? ??? ?? ????? ??? ????? ?? ? ?? ????? ???? ?? ? ????? ? ??? ? ? ????? ?? ???? ??? ????? ??? (???? ???? diff,merge??) ???(???? ?? ??)? ??? ??? ???? ??? ???? ??? ??? ??
49.
?? ???? ??-?? ??(read-write
conflict)? ==???? ??(inconsistent read) ??? ???? ?? ??? ??? ?? ??? ???? ???? (??? ????) ??? ??????? '????'?? ?? ?? ???? ???A ???? ??? ???? ????? ??? ???? ???? ?????
50.
?? ??? *??? ???(Eventual
consistency)? ?? ???? ???? ???? ?? ? ???,? ?? ?? ??? ?? ??? ????? ??? ?? ?? ??? ??? ??? ?? ???? (??) ??? ?? ?? ??? ?? ??? ?? ??? ???? ???? ??? ???? ???
51.
??? ????? ????? ???
???? ??? ???? '????'? ?? ???? ?? ?? ??? ????? '?? ???'? ??? ?? ??? ??? ? ?? ?? ???? ?? ???...? ??? ?? 1.??? 2.?? ??? ??
52.
??? ??(Sticky Session)? ???
???? ??? ??? ??? ?? ??.? ???, ?? ??? ??? ?? ?? ??. ?? ???? ???? ????? ??? ??? ???? ?? ??? ?? ???? ??.? ??? ??? ????? ? ??? ??. ????.. ?????? ???? ???? ?? ??? ???? '??'? ??? ? ??.? (???) ??? ?? ? ?? ??.
53.
CAP??? Consistency, Availability, Partition
tolerance ? ???. ???(Consistency)? ?? ??? ?? ??? ??? ??? ??? ??. ???(Availability)? (????? ???? ????)? ???? ? ? ??? ??? ????? ? ??? ?? ??? ??.(??, ??) ?? ???(Partition tolerance)? ???? ? ?? ??/?? ???? ??/?? ?? ???? ??? ????? ? ??????? ??.
54.
CAP???.. '????? 3??? ????
??? ? ??'? ?? ?? ????? ??. ????? ??? ???? ?????? ???? ???.. ?? ???? ????? ????? ???? ??? ???? ???? ?? ?. CAP Theorem, ??? ??? http://eincs.com/2013/07/misleading-and-truth-of-cap-theorem/
55.
????? (??,??) ????? ???
???? ?? ??? ?????, ??? ?? ??? ????? ????? ????? ????? ??? ??. ??? ??? ?? ??? ????? ?? ???? ??? ?????. ?? ???..
56.
???? ??? ? Amazon's Dynamo??
???? ???? ??? ???? ???? ???? ??? ???? ????? ???? ??. ?? ?? ????? ?? ? ???? ?? ???? ??? ????? ??? ??? ??? ??? ??? ??? ????? ???? ??? ????? ??? ??
57.
???? ?? ????? ??
Read? ??? ??? ?????? ??? ??? ???? ????? ???? ???? ???? ?? ?(?) ??? ????
58.
???? ??? '???'? ????
?? 100% ?????? '???'? ??? ???? ???? ??? ??? ? ??. ???? ????? ??? ???? ????? ??? ??????...? ???..? ??? ?? ??? ??? ??? ? ??. ?? ??? ??? ???? ?-?? ??????? ?? ?? expire ??? ?? ?? ?? ? ?? ??? ??.
59.
??? ? ??
??? ???? ????? ??? ???? ? ???. ????.. ? ???? ???? ????? ??? ?? ??? ???? ???? ??, ?? ???(write-quorum) ??? ???? ?? ?(W)?? ??? ???? ?? ?(N)? ??? ??? ?. W > N / 2
60.
?? ??? ?? ????
??? ???? ?? ???? ??? ??.? ? ?? ? ???? ?? ?? ?(R)?? ?? ? ???? ?? ?? ?(W)? ????(N) R + W > N ???! ?? ???? ?? ? ??.
61.
???? 3? ???.. ?????
???? ?? ???? ??? ????? 3?? ??. ?? ??? ???? ??? ?? ???? ?? ?? ?? ??? ???? ?? ? ???? ???? ?? ??? ??. ???? ??? ?? ? ?? ???? ?? ??? ?? ??.
62.
???? ?? ?..? ??? ??
??? ??? ???? ?? ?????? ???? ?? ??? ??? ??, ?? ??? ?? ??? ??? -> ??? ????, ??? ???? ?? ??? ???! ???? ??? ??? ???? ??? ????? ??? ??!!
63.
??? ???? ??? ?????
???? ?? ?????? ???? ???? ???? ?? ??? ???? ???? ?? ?? ?????. ?? ???? ? ???? ?????? ???? '?? ???'? ???? ??.
64.
?? ??? ?? ?
????? ??? (??? ??? ?? ?? ??? ??) ? GUID (??? ??, ?? ??? ???) ? Hash ???? ?? (GUID? ?? ?? ??) ? ??? ????? ?? ??? (??? ?? ??? ??) ? ?? ??? ??? ??? ?? ??? ?? ??? ?: CouchDB? ???+??? ?? ??
65.
?? ???? ????
?? ???? ? ??? (???? or ???-????? ????? ??) ??? ??-?-?? ?? ?????? ?? ???? ???? ?? ??? ??? ??. ?????? ???? ?? ??? ??? ?? ???? ???.? (??? ???? ??? ???? ???)
66.
??-?-?? NoSQL ??????
??? ?? ???? ?? ? '?? ???'? ??? ???? ?? ? ? ??? ???? ??? ???? ?? ? ??? ??? ?? ?? ??, ?????? ??. ?? ? ??? ???? ???? ??? ??? ??? ???.? ?? ??? ??? ? ?? ???? ???
67.
??? ??? ??
???? 0?? ??? -> ?? ?? ??? ?? ?? ???? ??? ??? ???..? ?? ????? ????? ??? ????? ??? ???.
68.
?-??? ??? ? ?????
?? ??? ??? ?? ? ???? ??? ???? ?? ?? ? ??? ??? '??'? ?? ??
69.
??? 2??? ???
?? ? ??: ??? ???? key-value ? ??? ??? ??: ? ??? ????? ???? ?? ??? ??/??/?? ??/??/?? ??A/???? ??B/???? ??C/??? ??A/???? ??B/???? ??C/??? Node1 ??A/???? ??B/???? ??C/??? Node2 Map Reduce ???? Map
70.
?? ?? Reduce ??A/???? ??A/??? ??B/???? ??B/??? ??C/???? ??C/??? ????? ???!! Map ??A/???? ??B/???? ??A/???? ??A/???? ??A/??? Reduce??A/???? ??B/??? ??? ?? ??? ???
??
71.
?? ??? ???
??? (Combinable reducer) ????? ??? ?? ???? ?? ???? ???? ??? ??.? ?? ??? ?? ??? ??? ?? ??? ??? ??? ?? ??? ??. ?? ??? ??? ?? ????? ??.
72.
?-??? ?? ?? ?
??? ? ??? ???? ????? ??? ??? ? ?? ???? ?? ?? ?? ?? ??? ?????? ????? ??? ??? ???? ?.? (=??? ??? ??? ??? ?????) ????? ??? ?? ??? ???? ????? ??? ?????,? ? ????? ???? ??? ??? ?? ???? ???? ????
73.
?-??? ???? ?? ?-???
??? ?????, ???? ??? ??? ??? ?? ? ?? ??. (???? ????? ??) ?) ??? ??? ?? ?? ?? ?? ??. 2??? ??.? 1. ??? ?/? ???? ??? 2. ?? ??? ???? ?? ??? ???? ?? Map(A) -> Reduce(B) -> Map(C) -> Reduce(D) A. ?? ?? ???? ?? key-value ??? B. A? ??? ???? ??? ?????? ??? C. B? ??? ???? ?? ??? key-value? ??? D. C? ??? ???? ?? (????? ???)
74.
????? ?? ??? ???
?? ??? ???? ????(?-???)? '??(??)'? ????. ?? ??? ?? ??? ???? ? ??. ?-??? ??????? ?? ????? ???? ???? ?? ?? ???? ? ??? ??? ??, ????
75.
?-??? ?? ?-??? ???
??? ??? ??? ? ??. ??? ?? ?? ?????? ??? ??? ??? '??'? ?-??? ??? ???? ??? '???'? ???? SQL? ??? ????? ?-??? ????? ??? ??
76.
'??? ??' ??? ????
???? ???.? ??? ?? ??? ?? ????? ???. ??? ???? ?? ??? ???? '??? ????'? ??. ? ??? ??? ??? ??? ?? ???? ???? ? ??? ??? ??? ??? ? ? ??? ??? ??? ??? ??? ?? ??? ???. ???? ?? ???? ??????? ???? ?? ???? ??? ??? ?? ??.
Download