Właśnie zaczynam od MongoDB i jedną z rzeczy, które zauważyłem, jest to, że używa BSON do wewnętrznego przechowywania danych. Jednak dokumentacja nie jest dokładnie jasna, czym jest BSON i jak jest używany w MongoDB. Czy ktoś może mi to wyjaśnić, proszę?
158
Odpowiedzi:
BSON to kodowanie binarne dokumentów podobnych do JSON, którego MongoDB używa podczas przechowywania dokumentów w kolekcjach. Dodaje obsługę typów danych, takich jak data i binarne, które nie są obsługiwane w formacie JSON.
W praktyce nie musisz wiedzieć zbyt wiele o BSON podczas pracy z MongoDB, wystarczy użyć rodzimych typów swojego języka i dostarczonych typów (np. ObjectId) jego sterownika podczas konstruowania dokumentów, a zostaną one zmapowane do odpowiedni typ BSON przez kierowcę.
źródło
Co to jest BSON ?
Czym różni się od JSON ?
Źródło: http://bsonspec.org/
źródło
MongoDB reprezentuje dokumenty JSON w zakodowanym binarnie formacie zwanym BSON za kulisami. BSON rozszerza model JSON, aby zapewnić dodatkowe typy danych i być wydajnym do kodowania i dekodowania w różnych językach.
źródło
MongoDB reprezentuje dokumenty JSON w formacie binarnym, więc w tle nazywamy to BSON .
BSON rozszerza model JSON, aby zapewnić dodatkowe typy danych, takie jak Data i binarne, które nie są obsługiwane w JSON, również zapewniają uporządkowane pola, aby było wydajne do kodowania i dekodowania w różnych językach.
Innymi słowy, możemy powiedzieć, że BSON to po prostu binarny JSON ( nadzbiór JSON z kilkoma innymi typami danych, przede wszystkim binarną tablicą bajtów).
Mongodb jako format serializacji JSON zawiera format kodowania do przechowywania i dostępu do dokumentów . po prostu możemy powiedzieć, że BSON to zakodowany binarnie format danych JSON.
więcej artykułów mongoDB: https://om9x.com/blog/bson-vs-json/
źródło
Używając kodowania BSON oprócz JSON, MongoDB uzyskuje możliwość tworzenia indeksów na podstawie wartości znajdujących się w dokumencie JSON w formacie surowym. Pomaga to w wykonywaniu wydajnych zapytań analitycznych, ponieważ systemy NoSQL były znane z braku obsługi indeksów.
źródło
Ten stosunkowo krótki artykuł daje całkiem dobre wyjaśnienie BSON i JSON: mówi o niektórych problemach z JSON, dlaczego wynaleziono BSON, jakie problemy rozwiązuje w porównaniu z JSON i jakie może to przynieść korzyści.
https://www.compose.com/articles/from-json-to-bson-and-back/
W moim przypadku użycia ten artykuł powiedział mi, że serializacja do JSON będzie działać dla mnie i nie muszę serializować do BSON
źródło