Oracle
Oracle — bu eng mashhur ma'lumotlar bazasi emas, lekin eng taniqlisidir. Garchi eng mashhur deb ham aytish mumkin. Qanday hisoblashga qarab. Agar kompaniyalar soniga qarasak, unda MySQL DBMS eng mashhur: u yetarlicha yaxshi va toʻliq bepul :)
Lekin boshqa yoʻl bilan ham hisoblash mumkin. Agar million mijozli bitta kompaniya Oracle-dan foydalansa va 100 mijozli 5ta kompaniya MySQL-dan foydalansa, demak Oracle million mijozga xizmat koʻrsatadi, MySQL esa faqat 500 kishiga.
Umuman olganda, agar katta kompaniyalarni olaylik, ularning puli bor va ular qaysi DBMS-ni tanlayotganini koʻrsak, dunyodagi barcha kompaniyalarning taxminan uchdan biri Oracle-da ishlaydi. Shunga oʻxshash.
Siz dasturchi sifatida kelajakda Oracle DBMS-da ishlash imkoniyati MySQL-da ishlash imkoniyatidan koʻra koʻproqdir. Internetda soʻnggi 20 yil ichida DBMS-ning mashhurligi qanday oʻzgarganini koʻrsatadigan ajoyib video bor.
MySQL
Barcha DBMSlar orasida ikkinchi mashhurlik bo'yicha - bu MySQL. Va u barcha bepul DBMSlar orasida birinchi o'rinda. Endi nega SQLni aynan uning misolida o'rgatayotganimizni tushunasan. Xayp xayp, lekin biznes infratuzilmani tanlashda ancha konservativdir.
Aslida MySQL haqida biz allaqachon gaplashgan edik. Bir vaqtlar ularni Sun kompaniyasi sotib oldi, keyin esa — Oracle. Uni yaxshilik korporatsiyasi deb atash juda qiyin.
Aynan ular Sun kompaniyasini sotib olgandan so'ng, har doim Java ni pullik qilishga harakat qilishmoqda.
Ha, Sun kompaniyasi Java va MySQLga egalik qilgan edi, keyin Oracle ularni sotib oldi.
Bu fakt va Oracle ning obro'si MySQL ishlab chiquvchilarini biroz qo'rqitdi, ular MySQL proyektini fork qilishga va uni MariaDB deb atashga qaror qilishdi.
MariaDB – bu asosan MySQL kloni, ba'zi patentlar va litsenziyalar cheklovlarini chetlab o'tishga imkon beradigan ba'zi xususiyatlarga ega.
Lekin Oracle kompaniyasida ham ahmoqlar o'tirmaydi. Mijozlar va ishlab chiquvchilar MariaDB-ga o'tib ketmasliklari uchun, Oracle kompaniyasi MySQLni rivojlantirish va ishlab chiqishni moliyalashtirishni davom ettirmoqda, u hali ham bepul.
Va ikki stulda o'tirish uchun, korporativ mijozlar uchun pullik MySQL Enterprise chiqarildi, u MySQL Community Edition dan farq qilmaydi, lekin uning litsenziyalari biznes uchun yaxshiroq mos keladi.
PostgreSQL
Yana bir qiziqarli DBMS – bu PostgreSQL (uni «poustgres-kue-el» deb oʻqiladi).
Bu yana bir bepul DBMS, soʻnggi yillarda juda tez mashhur boʻlib bormoqda. Garchi MySQLgacha hali uzoq.
PostgreSQL birinchi navbatda taqsimlangan ishlashga mo'ljallangan. Uning kuchli tomonlari hisoblanadi:
- Yuqori samarali va ishonchli tranzaksiya va replika mexanizmlari
- Kengaytiriladigan o'rnatilgan dasturlash tillari tizimi: PL SQL, PL JS, PL Python, …
- Jadval merosiyati
- Geometrik (jumladan, geografik) obyektlarni indekslash imkoniyati
- JSON formatidagi kam tuzilgan ma'lumotlarni indekslash bilan qo'llab-quvvatlash
- Kengaytirilishi (yangi ma'lumot turlari, indeks turlari, dasturlash tillari, kengayish modullari yaratish, har qanday tashqi ma'lumot manbalarini ulash imkoniyati)
Bilasizmi, u nega shunday ataladi? Gap shundaki...
Taxminan 50 yil oldin, 70-yillarning boshida Berkli universitetida o'zlarining aloqaviy DBMSni ishlab chiqa boshlashdi va uni Ingres deb atashdi.
80-yillarning boshida professor Maykl Stounbreyker loyihadan chiqib, oʻzining alohida DBMSini yozishga qaror qildi. U va uning talabalari oʻzlarining DBMSini yozishni boshladilar va uni oddiygina Post Ingres deb atashdi, bu esa keyinchalik Postgresga qisqartirildi.
Va Postgres nomi hech kimga hech narsa deya olmaganligi sababli, unga SQL qoʻshimchasi qoʻshishga qaror qilindi. Shunday qilib PostgresSQL paydo boʻldi, bu darhol ikki Sni yoʻqotib, PostgreSQL tarzida yozildi. Lekin nomini aytayotganda, uni PostgresQL sifatida oʻqish kerak.
NoSQL
Agar siz ma'lumotlar bazalari bilan qiziqsangiz, NoSQL ma'lumotlar bazalari haqida eshitgan boʻlishingiz aniq. Sizni xafa qilmoqchiman: NoSQL – bu faqat marketing nomi, va u erda SQL mavjud. Faqat qisqartirilgan.
Bu nimaga o'xshaydi? Yaxshi veb-sahifani tasavvur qiling, HTML, CSS va JavaScript-da yozilgan... uni 1995-yilgi brauzerda ochishgan. U yerda CSSning atigi 10%i ishlaydi va JavaScript umuman qo'llab-quvvatlanmaydi. Va bu yangi qisqartirilgan standartni… NoHtml deb atashdi.
Masalan, NoSQLda jadvalar orasidagi JOIN-lar qo'llab-quvvatlanmasligi mumkin va keyin buni yoki Java-kod darajasida emulyatsiya qilishga, yoki barcha bog'langan jadvallar ma'lumotlarini bitta katta jadvalda saqlashga to'g'ri keladi.
Va agar NoHtml holatida biz 20 yil orqaga qaytgan boʻlsak, NoSQL holatida biz taxminan 40 yil orqaga qaytishmiz mumkin.
Misol uchun, Cassandra NoSQL ma'lumotlar bazasini olaylik, uni Facebook milliardlab foydalanuvchi ma'lumotlarini saqlash uchun ishlatadi. Aslida, ularni o'zlari ishlab chiqishgan va keyin OpenSource loyiha sifatida chiqindi.
Eng qiziqarli joydan boshlaylik – SUVning barcha kodi Java-da yozilgan. C++-da kod yozilgan bo'lsa, ehtimol tezroq ishlardi, lekin u erda ko'proq xatolar bo'lardi. A Java-da yozilgan kodni qo'llab-quvvatlash va rivojlantirish osonroq.
Casandra SUVga so'rovlar formatining umumiy shakli juda tanish ko'rinadi:
SELECT ustunlar FROM jadval WHERE shart GROUP BY ustunlar ORDER BY tartib LIMIT miqdor
Ko'rib turganingizdek, bu yerda SQL bor. Va bilasizmi, nimaga etishmaydi? JOIN operatori! Ma'lumotlarni faqat bitta jadvaldan tanlash mumkin :)
Mana sizlarga rasmiy hujjatdan iqtibos:
You cannot perform joins in Cassandra. If you have designed a data model and find that you need something like a join, you’ll have to either do the work on the client side, or create a denormalized second table that represents the join results for you.

GO TO FULL VERSION