MongoDB: Siêu sao hay "flop" c?a làng database?


Yo, anh em IT! H?m nay chúng ta s? bóc ph?t m?t "?ng k?nh" trong gi?i c? s? d? li?u - MongoDB. Nó t?ng ???c ca ng?i nh? Kim Kardashian c?a th? gi?i NoSQL, nh?ng li?u có x?ng ?áng v?i danh ti?ng ?ó kh?ng? Spoiler alert: Có v? nh? kh?ng ?au các b?n ?! ??

S? th?t ph? phàng t? chi?n tr??ng code

T?i c?ng ty chúng t?i và các ??i tác, chúng t?i ?? "qu?y" v?i c? MongoDB l?n các database "boomer" nh? MySQL, PostgreSQL. Và ?i th?i, k?t qu? khi?n team MongoDB ph?i khóc thét!

![MongoDB vs SQL Performance][]

Hình 1: MongoDB vs SQL - Cu?c ?ua nh? nào? Nh? này nè!

4-5 D? án v?i 500 tri?u b?n ghi (?úng, nhi?u nh? s? l?n b?n refresh Instagram ?? ch? crush like ?nh v?y ?ó). K?t qu?:

  1. MongoDB ch?y query ch?m h?n PostgreSQL t?i 30-40%. Ki?u nh? b?n g?i xe ?m c?ng ngh?, nh?ng tài x? l?i ?i xe ??p ?y! ??
  2. TPS (giao d?ch m?i giay) c?a MongoDB thua MySQL t?i 25%. Nó gi?ng nh? b?n ??t 100 ly trà s?a, nh?ng quán ch? làm k?p có 75 ly v?y. Bu?n ghê! ??

Ly do MongoDB "flop"?

  1. M? hình d? li?u ph?c t?p: MongoDB gi?ng nh? cái t? ?? c?a b?n v?y, c? nhét lung tung r?i kh?ng bi?t l?y cái gì ? ?au.
  2. Index kh?ng hi?u qu?: T??ng t??ng b?n có m?t cu?n sách 1000 trang nh?ng m?c l?c ch? có 10 trang ??u. Còn l?i mu?n tìm gì thì t? l?t nhé!
  3. Qu?n ly b? nh? kém: MongoDB xài b? nh? nh? rich kids xài ti?n v?y, phung phí quá!
  4. Tính nh?t quán: MongoDB c? g?ng gi? m?i th? nh?t quán, nh?ng l?i nh? ki?u b?n c? g?ng gi? l?ch h?c ??u ??n trong k? ngh? hè v?y. Khó l?m!

FerretDB: Anh hùng áo v?i hay k? c? h?i?

Này, có m?t anh chàng m?i n?i tên FerretDB. Nó nh? ki?u cosplay MongoDB nh?ng bên trong l?i là PostgreSQL ?y.

![FerretDB Architecture][]

Hình 2: FerretDB - Khi PostgreSQL cosplay thành MongoDB

FerretDB nh? ki?u b?n v?a mu?n ?n pizza, v?a mu?n ?n ph?, th? là ng??i ta cho b?n... ph? pizza! Và ?i?u b?t ng? là nó còn ngon h?n c? hai món riêng l? n?a ch?!

K?t lu?n: MongoDB có th?c s? "x?n xò"?

Qua tr?i nghi?m "?au th??ng" c?a chúng t?i, v?i nh?ng d? án "kh?ng long" (vài tr?m tri?u b?n ghi), MongoDB hóa ra l?i là... "kh?ng long b?t"!

![Performance Comparison][]

Hình 3: Cu?c ?ua performance: MongoDB là anh chàng m?c ?? ch?y b? x?n nh?ng l?i... ?i b?

Nh?ng khoan ??, ??ng v?i "ném ?á" MongoDB nhé! Nó v?n có nh?ng ?u ?i?m riêng, gi?ng nh? vi?c b?n v?n yêu m?n con mèo nhà mình dù nó l??i bi?ng v?y. MongoDB v?n h?p v?i m?t s? d? án c? th? ??y.

  1. Uber - ?ng d?ng theo d?i tài x?: Uber s? d?ng MongoDB ?? l?u tr? d? li?u v? trí c?a hàng tri?u tài x? theo th?i gian th?c. T?i sao ?? Vì MongoDB x? ly d? li?u ??a ly c?c k? t?t và có kh? n?ng m? r?ng ?áng n?. Nó gi?ng nh? vi?c b?n có th? d? dàng thêm gh? vào r?p xi?c khi có thêm khán gi? v?y!
  2. Forbes - N?n t?ng xu?t b?n n?i dung: Forbes dùng MongoDB ?? qu?n ly n?i dung c?a h?. V?i kh? n?ng l?u tr? d? li?u phi c?u trúc, MongoDB giúp Forbes d? dàng thay ??i c?u trúc bài vi?t mà kh?ng c?n "??p ?i xay l?i" c? h? th?ng. Ki?u nh? b?n có th? d? dàng thay ??i c?ng th?c n?u ?n mà kh?ng c?n ??p b? c? cái b?p ?y!
  3. eBay - H? th?ng qu?n ly m?t hàng: eBay s? d?ng MongoDB ?? qu?n ly hàng t? m?t hàng. MongoDB giúp eBay x? ly l??ng truy v?n kh?ng l? m?i giay và d? dàng thêm các tr??ng m?i cho s?n ph?m. Nó gi?ng nh? b?n có m?t t? ?? ma thu?t, có th? ch?a ???c v? s? qu?n áo và d? dàng thêm ng?n m?i v?y!
  4. The Weather Channel - ?ng d?ng d? báo th?i ti?t: The Weather Channel dùng MongoDB ?? l?u tr? và x? ly d? li?u th?i ti?t. MongoDB x? ly t?t các d? li?u c?m bi?n ?a d?ng và cho phép truy v?n nhanh chóng. Nó nh? m?t bác s? siêu gi?i, có th? nhanh chóng ch?n ?oán tình tr?ng "s?c kh?e" c?a th?i ti?t v?y!
  5. LinkedIn - H? th?ng g?i y k?t n?i: LinkedIn s? d?ng MongoDB ?? xay d?ng h? th?ng g?i y k?t n?i. MongoDB giúp LinkedIn x? ly l??ng l?n d? li?u ng??i dùng và t?o ra các g?i y k?t n?i nhanh chóng. Nó gi?ng nh? m?t bà m?i siêu ??ng, có th? nhanh chóng tìm ra "n?a kia" phù h?p cho hàng tri?u ng??i v?y!

Còn FerretDB à? Nó nh? ki?u m?t anh chàng lai Tay v?y, v?a có nét ??p ph??ng Tay (MongoDB), v?a có s? ch?m ch? c?a ph??ng ??ng (PostgreSQL). Có khi ?ay là t??ng lai c?a th? gi?i database ??y!

Cu?i cùng, nh? là ch?n database c?ng nh? ch?n b?n gái/trai v?y. ??ng ch? nhìn vào qu?ng cáo, mà h?y tìm hi?u k? xem nó có h?p v?i mình kh?ng nhé! Chúc các b?n may m?n trong cu?c phiêu l?u database! ????

Dat Nguyen

Senior Project Manager @ Terralogic | Agile Software Development

6 个月

V?y Uber, eBay x? ly t?t nh?ng y?u t? "flop" c?a MongoDB ?úng ko ?? Ko bi?t có bài nào ch? ra nh?ng cách x? ly c?a h? ?? h?c h?i ko? ??

回复

要查看或添加评论,请登录

Bui Dinh Ngoc的更多文章