NoSQL маалымат базаларына сереп салуу

Мазмуну:

NoSQL маалымат базаларына сереп салуу
NoSQL маалымат базаларына сереп салуу
Anonim

NoSQL аббревиатурасы 1998-жылы иштелип чыккан. Көптөгөн адамдар NoSQLди SQLди басынтуу үчүн түзүлгөн кемсинткен термин деп ойлошот. Чындыгында, бул термин SQL гана эмес дегенди билдирет. Идея эки технология тең жашай алат жана ар биринин өз орду бар. NoSQL кыймылы акыркы бир нече жылда жаңылыктарда болду, анткени Web 2.0 лидерлеринин көбү NoSQL технологиясын кабыл алышкан. Facebook, Twitter, Digg, Amazon, LinkedIn жана Google сыяктуу компаниялар кандайдыр бир жол менен NoSQL колдонушат. Келиңиз, аны CIOңузга же кесиптештериңизге түшүндүрүп берүү үчүн NoSQLди талкалап көрөлү.

Image
Image

NoSQL муктаждыктан пайда болгон

Маалыматтарды сактоо: Дүйнөдө сакталган санариптик маалыматтар экзабайт менен өлчөнөт. Эксабайт бир миллиард гигабайт (ГБ) маалыматка барабар. Internet.com сайтынын маалыматы боюнча, 2006-жылы кошулган сакталган маалыматтардын көлөмү 161 экзабайт болгон. Болгону 4 жылдан кийин 2010-жылы сакталган маалыматтардын көлөмү дээрлик 1 000 ExaBytes болот, бул 500% га өсөт. Башкача айтканда, дүйнөдө көп маалымат сакталууда жана ал мындан ары дагы өсө берет.

Өз ара туташтырылган берилиштер: Дайындар көбүрөөк туташып келет. Вебди түзүү гипершилтемелерде, блогдордо пингбэктер бар жана ар бир ири социалдык тармак тутумунда нерселерди бириктирген тэгдер бар. Негизги системалар бири-бирине туташуу үчүн курулган.

Татаал маалымат структурасы: NoSQL иерархиялык уяланган маалымат структураларын оңой иштете алат. SQLде бир эле нерсени аткаруу үчүн сизге ар кандай баскычтар менен бир нече реляциялык таблицалар керек болот. Мындан тышкары, аткаруу жана маалыматтардын татаалдыгы ортосунда байланыш бар. Салттуу RDBMSде майнаптуулук төмөндөшү мүмкүн, анткени биз социалдык тармактык тиркемелерде жана семантикалык желеде талап кылынган маалыматтардын чоң көлөмүн сактайбыз.

NoSQL деген эмне?

Менимче, NoSQLди аныктоонун бир жолу ал эмне эмес экенин карап чыгуу. Бул SQL эмес жана реляциялык эмес. Аты айтып тургандай, бул RDBMS үчүн алмаштыруу эмес, бирок аны мактайт. NoSQL өтө чоң масштабдагы маалымат муктаждыктары үчүн бөлүштүрүлгөн маалымат дүкөндөрү үчүн иштелип чыккан. 500 000 000 колдонуучусу бар Facebook же күн сайын терабит маалымат топтогон Twitter жөнүндө ойлонуп көрүңүз.

NoSQL маалымат базасында туруктуу схема жана кошулуулар жок. RDBMS тезирээк жана тезирээк жабдыкка ээ болуу жана эстутум кошуу менен "масштабын көтөрөт". NoSQL, экинчи жагынан, "масштабдан" пайдалана алат. Масштабды кеңейтүү жүктү көптөгөн товардык системаларга жайылтууну билдирет. Бул NoSQL компоненти, аны чоң маалымат топтомдору үчүн арзан чечим кылат.

NoSQL категориялары

Учурдагы NoSQL дүйнөсү 4 негизги категорияга туура келет.

  1. Негизги баалуулуктар дүкөндөрү негизинен Amazon компаниясынын 2007-жылы жазылган Динамо кагазына негизделген. Негизги идея - уникалдуу ачкыч жана маалыматтардын белгилүү бир пунктунун көрсөткүчү бар хэш таблицасынын болушу. Бул карталар адатта өндүрүмдүүлүктү жогорулатуу үчүн кэш механизмдери менен коштолот.
  2. Column Family Stores көптөгөн машиналарга бөлүштүрүлгөн өтө чоң көлөмдөгү маалыматтарды сактоо жана иштетүү үчүн түзүлгөн. Дагы эле ачкычтар бар, бирок алар бир нече мамычаларды көрсөтөт. BigTable (Google'дун Column Family NoSQL модели) учурда саптар ушул ачкыч аркылуу иреттелген жана сакталган маалыматтар менен катар ачкыч менен аныкталат. Мамычалар мамычалар үй-бүлөсү боюнча иреттелген.

  3. Document Databases Lotus Notes тарабынан шыктандырылып, негизги баалуулуктар дүкөндөрүнө окшош. Модель негизинен башка ачкыч-маанилик коллекциялардын жыйнагы болгон версияланган документтер. Жарым структураланган документтер JSON сыяктуу форматтарда сакталат.
  4. Графиктар базасылар түйүндөр, ноталардын ортосундагы мамилелер жана түйүндөрдүн касиеттери менен курулган. Саптар менен мамычалардын таблицаларынын жана SQLдин катаал структурасынын ордуна көптөгөн машиналарды масштабдай ала турган ийкемдүү график модели колдонулат.

Негизги NoSQL оюнчулары

NoSQLдеги негизги оюнчулар, биринчи кезекте, аларды кабыл алган уюмдардан улам пайда болгон. Эң чоң NoSQL технологияларынын айрымдары төмөнкүлөрдү камтыйт:

  • Динамо: Динамо Amazon.com тарабынан түзүлгөн жана эң көрүнүктүү Key-Value NoSQL маалымат базасы. Амазонка электрондук коммерция бизнеси үчүн өтө масштабдуу бөлүштүрүлгөн платформага муктаж болгон, ошондуктан алар Динамону иштеп чыгышкан. Amazon S3 сактоо механизми катары Динамо колдонот.
  • Кассандра: Кассандра Facebook тарабынан ачык булак болгон жана мамычага багытталган NoSQL маалымат базасы.
  • BigTable: BigTable - бул Google'дун колоннага багытталган менчик маалымат базасы. Google BigTable'ди колдонууга уруксат берет, бирок Google App Engine үчүн гана.
  • SimpleDB: SimpleDB дагы бир Amazon маалымат базасы. Amazon EC2 жана S3 үчүн колдонулат, ал Amazon Web Services программасынын бир бөлүгү болуп саналат, ал колдонууга жараша акы алат.
  • CouchDB: CouchDB жана MongoDB ачык булактуу документке багытталган NoSQL маалымат базалары.
  • Neo4J: Neo4j – ачык булактагы графиктер базасы.

NoSQL суроосу

NoSQL маалымат базасын кантип суроо керек деген суроо - көпчүлүк иштеп чыгуучуларды кызыктырган нерсе. Акыры, чоң маалымат базасында сакталган маалыматтар, эгер сиз аны акыркы колдонуучуларга алып чыгып, көрсөтө албасаңыз, эч кимге пайда алып келбейт. же веб кызматтары. NoSQL маалымат базалары SQL сыяктуу жогорку деңгээлдеги декларативдик суроо тилин камсыз кылбайт. Анын ордуна, бул берилиштер базасына суроо > PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

NoSQL келечеги

Маалыматтарды сактоого муктаж болгон уюмдар NoSQLге олуттуу карашат. Сыягы, бул концепция майда уюмдарда анчалык деле күч алып жаткан жок. Маалымат жумалыгы жүргүзгөн сурамжылоодо, бизнес IT адистеринин 44% NoSQL жөнүндө уккан эмес. Андан тышкары, респонденттердин 1% гана NoSQL алардын стратегиялык багытынын бир бөлүгү экенин билдирди. Албетте, NoSQL биздин туташкан дүйнөбүздө өзүнүн ордун ээлейт, бирок көпчүлүк ойлогон массалык жагымдуулукту алуу үчүн өнүгө бериши керек.

Сунушталууда: