You are on page 1of 8

NoSQL

I . NoSQL l g?
1. Thut ng NoSQL cn c ngha l Non-Relational (NoRel) - khng rng buc. Tu nhi!n" thu#t ng$ % &t 'h( )*ng h+n , ng na ng-.i ta th-.ng )/ch NoSQL thnh Not Only SQL - Khng ch SQL. NoSQL 01 ch2 %3n nh$ng c+ 45 )$ li6u khng )7ng 1 h8nh )$ li6u 9uan h6 %: 9u;n l< )$ li6u trong lnh ,=c 'h>n 1?1. 2. Lch s Thu#t ng$ NoSQL %-@c giAi thi6u l>n %>u ,o nB1 CDDE 4F )*ng l1 t!n gGi chung cho c0c lightHeight o'en 4ource relational )ataba4e (c+ 45 )$ li6u 9uan h6 nguIn 15 nhJ) nh-ng khng 4F )*ng SQL cho tru ,Kn. Lo nB1 MNND" Oric O,an4" nhPn ,i!n cQa Rack4'ace giAi thi6u lRi thu#t ng$ NoSQL trong 1t hi th;o ,? c+ 45 )$ li6u nguIn 15 'hPn t0n. Thu#t ng$ NoSQL %0nh )Ku b-Ac 'h0t tri:n cQa th3 h6 )ataba4e 1AiS )i4tribute) ('hPn t0n) T non-relational (khng rng buc).

Uhi chVS Mt mnh kh th v v non-relational data store: "select fun, profit from real !orld !here relational"false#"$ !. "nh ngh#$ Th3 h6 )ataba4e k3 ti3' l 1t th3 h6 c+ 45 )$ li6u non-relational (khng rng buc)" )i4tribute) ('hPn t0n)" o'en 4ource" horiWontal 4calable (kh; nBng 15 rng theo chi?u ngang) c th: l-u tr$" XF l< tY 1t l-@ng rKt nhJ cho tAi hng 'etab te4 )$ li6u trong h6 thZng c % ch/u t;i" l[i cao ,Ai nh$ng %i hJi ,? ti ngu !n 'h>n c\ng thK'. ]t 4Z %^c %i:1 nh#n )Rng cho th3 h6 )ataba4e 1Ai n bao gI1S 4che1a-_ree" h[ tr@ 15 rng )` )ng" abc %+n gi;n" e,entual con4i4tenc (nhKt 9u0n cuZi) ,dho^c tran4action4 hRn ch3 tr!n c0c thnh 'h>n )$ li6u %+n le" khng giAi hRn khng gian )$ li6u"... NoSQL 4torage %^c bi6t 'h( )*ng trong th.i kf geb M.N b7ng n(" n+i c0c 1Rng )/ch ,* )$ li6u cng %Ing cho 'hh' ng-.i )7ng tRo hng ti ni )ung tr!n Heb. jo %" )$ li6u lAn rKt nhanh ,-@t 9ua giAi hRn 'h>n c\ng , c>n 'h;i gi;i 9u 3t bkng bi to0n 'hPn t0n. NFa %>u nB1 MNND" ng-.i ta %l 1anh nha thu#t ng$ NoSQL %0nh )Ku 4= tr-5ng thnh cQa th3 h6 )ataba4e 1Ai trong khi nh$ng 4;n 'hm1 'h>n 1?1 c th: %l %-@c 'h0t tri:n tY tr-Ac % rKt lPu. %. &'t s( thut ng l)*n +u$n. - non-relationalS relational - rng buc - thu#t ng$ 4F )*ng %3n c0c 1Zi 9uan h6 gi$a c0c b;ng trong c+ 45 )$ li6u 9uan h6 (Rjn]4) 4F )*ng 1 h8nh kha gI1 M loRi khaS kha ch&nh , kha 'h* ('ri1ar ke T _oreign ke ) %: rng buc )$ li6u nhk1 th: hi6n t&nh nhKt 9u0n )$ li6u tY c0c b;ng kh0c nhau. Non-relational l kh0i ni61 khng 4F )*ng c0c rng buc )$ li6u cho nhKt 9u0n )$ li6u 5 NoSQL )ataba4e. - )i4tribute) 4torageS 1 h8nh l-u tr$ 'hPn t0n c0c _ile ho^c )$ li6u ra nhi?u 10 t&nh kh0c nhau trong 1Rng LaN ho^c cnternet )-Ai 4= ki:1 4o0t cQa 'h>n 1?1.

- e,entual con4i4tenc (nhKt 9u0n cuZi)S t&nh nhKt 9u0n cQa )$ li6u khng c>n 'h;i %;1 b;o nga t\c khoc 4au 1[i 'hh' Hrite. ]t h6 thZng 'hPn t0n chK' nh#n nh$ng ;nh h-5ng theo 'h-+ng th\c lan tru ?n , 4au 1t kho;ng th.i gian (khng 'h;i nga t\c khoc)" tha %(i 4p %i %3n 1Gi %i:1 trong h6 thZng" t\c l cuZi c7ng (e,entuall ) )$ li6u tr!n h6 thZng 4p tr5 lRi trRng th0i nhKt 9u0n. - ,ertical 4calable (kh; nBng 15 rng chi?u )Gc)S qhi )$ li6u lAn ,? l-@ng" 'h-+ng 'h0' tBng c-.ng kh; nBng l-u tr$ , XF l< bkng ,i6c c;i ti3n 'h>n 1?1 , c;i thi6n 'h>n c\ng tr!n 1t 10 t&nh %+n le %-@c gGi l kh; nBng 15 rng chi?u )Gc. L& )* ,i6c tBng c-.ng rbs4" c;i thi6n %a c\ng" b nhA trong 1t 10 t&nh"... cho jn]4 nk1 trong 'hR1 tr7 n . qh; nBng 15 rng chi?u )Gc cn c 1t thu#t ng$ kh0c 4cale u'. - horiWontal 4calable (kh; nBng 15 rng chi?u ngang)S qhi )$ li6u lAn ,? l-@ng" 'h-+ng 'h0' tBng c-.ng kh; nBng l-u tr$ , XF l< l )7ng nhi?u 10 t&nh 'hPn t0n. bhPn t0n )$ li6u %-@c h[ tr@ b5i 'h>n 1?1 t\c c+ 45 )$ li6u. Trong khi gi0 thnh 'h>n c\ng ng cng gi;1" tZc % XF l<" b nhA ng cng tBng th8 horiWontal 4calable l 1t l=a chGn %Vng %on. tng trB1 10 t&nh nhJ %-@c ch#' lRi tRo thnh 1t h6 thZng t&nh to0n 1Rnh h+n nhi?u 4o ,Ai ,i XF l< RcSr tru ?n thZng %+n le. ] h8nh n ti3' t*c %-@c h[ tr@ b5i c0c cng ngh6 k3t nZi ] rinet , cn_ininan). TY % chVng ta c th: 9u;n l<" b;o tr8 tY Xa" XP )=ng batch 'roce44ion (XF l< %Ing loRt t#' l6nh) tZt h+n. jo nh$ng %i hJi ,? tZc % XF l< cdu cao" l-@ng c=c lAn )$ li6u"... 4cale horiWontall 4p thVc %m c0c cng ngh6 l-u tr$ 1Ai 'h0t tri:n giZng nh- obvect 4torage )e,ice4 (uSj).

II. K),n t-.c


1. S/ l01c. r0c Rjn]4 hi6n tRi %l bc l nh$ng 3u kh1 nh- ,i6c %0nh ch2 1*c 1t l-@ng lAn )$ li6u" 'hPn trang" ho^c 'hPn 'hZi luIng )$ li6u 1e)ia ('hi1" ;nh" nhRc" ...). r+ 45 )$ li6u 9uan h6 %-@c thi3t k3 cho nh$ng 1 h8nh )$ li6u nhJ th-.ng Xu !n %Gc ,i3t trong khi c0c Social NetHork Ser,ice4 lRi c 1t l-@ng )$ li6u c=c lAn , c#' nh#t li!n t*c )o 4Z l-@ng ng-.i )7ng 9u0 nhi?u 5 1t th.i %i:1. Thi3t k3 tr!n ji4tribute) NoSQL gi;1 thi:u tZi %a c0c 'hh' t&nh to0n" cdu li!n 9uan k3t h@' ,Ai batch 'roce44ing %Q %;1 b;o %-@c !u c>u XF l< )$ li6u cQa c0c 1Rng )/ch ,* )$ li6u cng %Ing n . wacebook" a1aWon l nh$ng ,& )* %i:1 h8nh. L? c+ b;n" c0c thi3t k3 cQa NoSQL l=a chGn 1 h8nh l-u tr$ t#' )$ li6u theo c^' gi0 tr/ ke ,alue. qh0i ni61 no)e %-@c 4F )*ng trong 9u;n l< )$ li6u 'hPn t0n. LAi c0c h6 thZng 'hPn t0n" ,i6c l-u tr$ c chK' nh#n tr7ng l^' )$ li6u. ]t re9ue4t tru ,Kn tAi )ata c th: gFi tAi nhi?u 10 c7ng lVc" khi 1t 10 no n b/ ch3t cxng khng ;nh h-5ng nhi?u tAi ton b h6 thZng. y: %;1 b;o t&nh real ti1e trong c0c h6 thZng XF l< l-@ng lAn" thng th-.ng ng-.i ta 4p t0ch bi6t

)ataba4e ra l1 M ho^c nhi?u )ataba4e. ]t )ataba4e nhJ %;1 b;o ,o ra li!n t*c" khi %Rt tAi ng-zng th.i gian ho^c )ung l-@ng" )ataba4e nhJ 4p %-@c g' (1erge) ,o )ataba4e lAn c thi3t k3 tZi -u cho 'hh' %Gc (rea) o'eration). ] h8nh % cho 'hh' tBng c-.ng hi6u 4uKt cdu - 1t trong nh$ng ngu !n nhPn ch&nh khi3n 'er_or1ance tr5 n!n kh1. 2. &'t s( 23c 2)45. - tigh Scalabilit S U>n nh- khng c 1t giAi hRn cho )$ li6u , ng-.i )7ng tr!n h6 thZng. - tigh a,ailabilit S jo chK' nh#n 4= tr7ng l^' trong l-u tr$ n!n n3u 1t no)e (co11o)it 1achine) no % b/ ch3t cxng khng ;nh h-5ng tAi ton b h6 thZng. - ato1icit S yc l#' )ata 4tate trong c0c o'eration. - ron4i4tenc S chK' nh#n t&nh nhKt 9u0n 3u" c#' nh#t 1Ai khng %;1 b;o rkng c0c tru XuKt 4au % thK nga %-@c 4= tha %(i. Sau 1t kho;ng th.i gian lan tru ?n th8 t&nh nhKt 9u0n cuZi c7ng cQa )$ li6u 1Ai %-@c %;1 b;o. - jurabilit S )$ li6u c th: tIn tRi trong b nhA 10 t&nh nh-ng %Ing th.i cxng %-@c l-u tr$ lRi %a c\ng. - je'lo 1ent wleXibilit S ,i6c b( 4ung th!1dloRi bJ c0c no)e" h6 thZng 4p t= %ng nh#n bi3t %: l-u tr$ 1 khng c>n 'h;i can thi6' bkng ta . t6 thZng cxng khng %i hJi cKu h8nh 'h>n c\ng 1Rnh" %Ing nhKt. - ]o)eling _leXibilit S qe -Lalue 'air4" tierarchical )ata ()$ li6u cKu trVc)" Ura'h4. - Quer wleXibilit S ]ulti-Uet4" Range 9uerie4 (loa) 1t t#' gi0 tr/ )=a ,o 1t )l c0c kha). !. 6h$t )s NoSQL 7t8chn)c$lly s98$:)ng;? "<ng g=) ch.ng l >$t$?$s8. rTu cQa a1aWon" gerner Logel4 %? c#' %3n h6 thZng j na1o cQa hG %l gGi n l 1t {highl a,ailable ke -,alue 4tore{. Uoogle gGi nigTable %: nhKn 1Rnh %P l {)i4tribute) 4torage 4 4te1 _or 1anaging 4tructure) )ata{ (h6 thZng l-u tr$ , 9u;n l< )$ li6u cKu trVc c 'hPn t0n). @A th4 thB) ?$y 5't l01ng > l)Cu cDc lEn . t 'ertable" 1t o'en 4ource colu1n-ba4e) )ataba4e tr!n 1 h8nh nigTable %-@c 4F )*ng cho local 4earch engine cQa |,ent4 cnc c th: ghi tAi C ti cell )$ li6u 1[i ng (theo joug }u)) 1t k~ 4- cQa |,ent4). Trong khi % nigTable k3t h@' ,Ai ]a'Re)uce c th: XF l< tAi MN 'etab te4 )$ li6u 1[i ng . "Fnh ?G) 98-Ho-5$nc8 ?ottl8n8c:s. nkng ,i6c bJ 9ua thng )/ch trong SQL c7ng ,Ai nh$ng tru ,Kn r-.1 r" NoSQL cho ta 1t ki3n trVc tZi -u ,? tZc % th=c thi (ghi , tru ,Kn )$ li6u).

Li6c 4F )*ng c0c rng buc 9uan h6 c7ng tru ,Kn SQL c ,e thPn thi6n , th&ch h@' ,Ai 'h>n %ng )$ li6u. Tu nhi!n" n3u )$ li6u 9u0 %+n gi;n" c0c thQ t*c SQL 4p khng c>n thi3t (theo rurt ]ona4h - 1t nh 'hPn t&ch c+ 45 )$ li6u" 1t blogger). Ra__aele Sena" 1t 4enior co1'uter 4cienti4t 5 a)obe S 4te14 cnc. %l ni rkng ronnectNoH geb collaboration 4er,ice cQa hG 4F )*ng }a,a clu4tering 4o_tHare tY Terracotta tha cho c+ 45 )$ li6u 9uan h6 %l khi3n {h6 thZng cQa hG tr5 n!n 1Rnh h+n" 'h\c tR' h+n 4o ,Ai ,i6c 4F )*ng c+ 45 )$ li6u 9uan h6{. r0c thi3t k3 )ataba4e c t&nh %^c th7 (nh- )ocu1ent-oriente) )ataba4e) 4p l-@c bJ %-@c t>ng chu :n %(i 4ang 1 h8nh l-u tr$ 9uan h6 tY inter_ace cQa n %Ing th.i khi3n giao ti3' t-+ng t0c tr5 n!n t= nhi!n h+n. -

]ongojn ,4. SQL Ser,er MNNE ber_or1ance ShoH)oHn

Khng +uF cIn th),t. yIng < rkng Rjn]4 cung cK' 1t 1 h8nh tu 6t ,.i %: %;1 b;o t&nh ton ,n )$ li6u. Tu nhi!n" rKt nhi?u ng-.i l=a chGn NoSQL %l ni rkng chVng khng 9u0 c>n thi3t cho nhu c>u cQa hG. Nh- trong )= 0n ronnectNoH cQa a)obe" )$ li6u ng-.i )7ng trong 1t 4e44ion khng c>n thi3t 'h;i l-u lRi" chVng 4p b/ Xa khi ng-.i )7ng logo__. L8 ,# " 1t ke ,alue 1e1or 4torage l %Q )7ng.

III. JhKn loG)

L. @o-8 NoSQL Syst85s 1. 6)>8 @olu5n Sto-8 M @olu5n N$5)l)8s t6 c+ 45 )$ li6u 'hPn t0n cho 'hh' tru XuKt ngu nhi!ndt\c th.i ,Ai kh; nBng l-u tr$ 1t l-@ng c=c lAn )ata c cKu trVc. j$ li6u c th: tIn tRi )Rng b;ng ,Ai hng ti b;n ghi , 1[i b;n ghi c th: ch\a hng tri6u ct. ]t tri:n khai tY ,i trB1 cho tAi hng ngh8n co11o)it har)Hare )n %3n kh; nBng l-u tr$ hng 'etab te4 nh-ng ,n %;1 b;o high 'er_or1ance. j-Ai %P l 1t 4Z 4;n 'hm1 thng )*ngS ta)oo'dtna4e a'ache" nigTable Uoogle" ra44an)ra wacebookda'ache" t 'ertable - |,ent4 cncdnai)u" rlou)era" Scijn" ]ne4ia" Tablet4" 2. K8y-O$lu8 Sto-8MTu9l8 sto-8 ] h8nh l-u tr$ )$ li6u )-Ai c^' gi0 tr/ ke -,alue trong % ,i6c tru XuKt" Xa" c#' nh#t gi0 tr/ th=c thng 9ua ke t-+ng \ng. LAi 4= b( tr@ b5i c0c k~ thu#t nTree" nTTree" ta4h"... )$ li6u c th: tIn tRi tr!n Ra] ho^c %a c\ng" 'hPn t0n ho^c khng 'hPn t0n. t>u h3t c0c NoSQL )ataba4e %?u l ke -,alue 4tore. j-Ai %P l 1t 4Z %^c t&nh c th: %-@c h[ tr@ trong 4;n 'hm1 )Rng n S a. qe d,alue cache in Ra]S 585c$ch8>" ritru4lea_ )ataba4e" Lelocit " Re)i4" Tu'le 4'ace"... b. qe d,alue 4a,e on )i4kS ]e1cache)b" P8-:8l8y QP" Tok o rabinet" Re)i4"...

c. O,entuall ron4i4tent qe Lalue StoreS L5$Ron Qyn$5o" Lol)e1ort" j no1ite" qac" @$ss$n>-$" tibari" brovect Lol)e1ort" ). ur)ere) ke -,alue 4toreS N]jn" ]e1cache)b" P8-:8l8y QP"... e. ji4tribute) 4 4te14S L9$ch8 S)T8-" ]O]naSO" LRu-8 T$?l8 Sto-$g8" L5$Ron Qyn$5o"... %hi ch: &uple 'tore: schema free, an ordered list of elements$ !. Qocu58nt Sto-8 Th=c chKt l c0c )ocu1ent-oriente) )ataba4e - 1t thi3t k3 ri!ng bi6t cho ,i6c l-u tr$ )ocu1ent. r0c ci %^t c th: l gi; l#' t-+ng t0c tr!n relational )ataba4e" obvect )ataba4e ha ke -,alue 4tore. ]t 4Z 4;n 'hm1 ti!u bi:uS L9$ch8 U$c:-$??)t" @ouchQP" IP& Lotus Not8s Sto-$g8 No-5$t 7NSN;" &ongoQP" Terra4tore" Thrujn" urientjn" Ra,enjn"... %. V-$9h Q$t$?$s8 Ura'h )ataba4e l 1t )Rng c+ 45 )$ li6u %-@c thi3t k3 ri!ng cho ,i6c l-u tr$ thng tin %I hGa nh- cRnh" nVt" 'ro'ertie4. ]t 4Z 4;n 'hm1 ti!u bi:uS N8o%U" Sone4" allegroUra'h" rore jata" jO" wlockjnW InHoV-)>" u'enLink Lirtuo4o"... P. SoHt NoSQL Syst85s 1. O?X8ct Q$t$?$s8sS )bo" Ue1StonedS" cnterS 4te14 rachh" }ajO" }uun" ubvecti,it djn" |ujn" Ler4ant" ubvecti,it " NOu"... 2. Y&L Q$t$?$s8sS ]ark Logic Ser,er" O]r jocu1entu1 Xjn" ei4t" Se)na" nerkele jn ]L" ... !. &ult)T$lu8 Q$t$?$s8sS sM" u'encn4ight"u'enQ] %. V-)> Q$t$?$s8 Solut)onsS UigaS'ace4" taWelca4t" Uri)Uain" cn_ini4'an" roherence" ... Z. oth8- NoSQL -8l$t8> >$t$?$s8sS cn] Lotu4djo1ino" cScS wa1il " bre,a ler" etre1eScal"...

O. T) l)Cu th$5 :h[o T l01c >ch


C. NoSQL re4ource4S htt'Sddno49l-)ataba4e.orgd M. NoSQL Hiki - htt'Sdden.Hiki'e)ia.orgdHikidNoSQL . Scalabilit Hiki - htt'Sdden.Hiki'e)ia.orgdHikidScalabilit ScalehoriWontall .ME4caleout.MD

.No to SQL anti-)ataba4e 1o,e1ent gain4 4tea1 htt'SddHHH.co1'uterHorl).co1d4darticledDCNEdNotoSQLanti)ataba4e1o,e1entgain4 4tea1taXono1 c)C'ageNu1berC . ]ongojn ,4. SQL Ser,er MNNE ber_or1ance ShoH)oHn htt'SddHHH.1ichaelckenne) .netdblogdMNCNdNdMDd]ongojnL4SQLSer,erMNNEber_or1anceSho H)oHn.a4'X . a nrie_ ti4tor o_ NoSQL - htt'Sddblog.knuthaugen.nodMNCNdNda-brie_-hi4tor -o_-no49l.ht1l . NoS9l jataba4e4 bart C - Lan)4ca'e - htt'SddHHH.,ineetgu'ta.co1dMNCNdNCdno49l)ataba4e4-'art-C-lan)4ca'e.ht1l E. NhKt Qu0n ruZi r7ng - htt'SddHHH.49l,iet.co1dblogdnhat-9uan-cuoi-cung D. NoSQL in the Onter'ri4e - htt'SddHHH.in_o9.co1darticle4dno49l-in-the-enter'ri4e Nh$ y8nh Thu#n

You might also like