BSON কী এবং ঠিক কীভাবে এটি জেএসএন থেকে আলাদা?


158

আমি কেবল মঙ্গোডিবি দিয়ে শুরু করছি এবং আমি যে জিনিসগুলি লক্ষ্য করেছি সেগুলির একটি হ'ল এটি অভ্যন্তরীণভাবে ডেটা সঞ্চয় করতে BSON ব্যবহার করে । তবে বিএসএন কী এবং মঙ্গোডিবিতে এটি কীভাবে ব্যবহৃত হয় সে সম্পর্কে ডকুমেন্টেশনগুলি ঠিক পরিষ্কার নয়। দয়া করে কেউ আমাকে এটি ব্যাখ্যা করতে পারেন?


: হাই ইভান, এই লিঙ্কটি পড়ুন, এটা JSON এবং BSON রেফারেন্স মধ্যে একটি গভীর তুলনা রয়েছে educba.com/json-vs-bson
Nuwa

@ নুয়া ইভান প্রশ্ন করেননি,
সেটাই

উত্তর:


155

বিএসওএন হ'ল জেএসওএন-এর মতো নথির বাইনারি এনকোডিং যা সংগ্রহগুলিতে নথি সংরক্ষণ করার সময় মঙ্গোডিবি ব্যবহার করে। এটি তারিখ এবং বাইনারিগুলির মতো ডেটা ধরণের জন্য সমর্থন যোগ করে যা JSON এ সমর্থিত নয়।

অনুশীলনে, মোঙ্গোডিবি-র সাথে কাজ করার সময় আপনাকে বিএসওএন সম্পর্কে খুব বেশি কিছু জানতে হবে না, নথিগুলি তৈরি করার সময় আপনাকে কেবল তার ভাষা এবং তার চালকের সরবরাহিত প্রকারগুলি (যেমন অবজেক্টআইডি) ব্যবহার করতে হবে এবং সেগুলি ম্যাপ করা হবে ড্রাইভার দ্বারা উপযুক্ত BSON টাইপ।


2
সুতরাং যদি মঙ্গোডিবি নথিগুলি বিসন হিসাবে সঞ্চয় করে থাকে তবে আমরা কীভাবে ডেটা বেজ জিজ্ঞাসা করি? তখন কী প্রকারটি ফিরে আসে? তারা কী জসন হিসাবে ফিরে আসবে? বা বিসন যেমন আছে তেমন ফিরে আসে?
অক্ষত জিওয়ান শর্মা

13
না, আপনার ভাষার জন্য মঙ্গোডিবি ড্রাইভার আপনার ভাষার জন্য উপযুক্ত নথির ডকুমেন্টকে রূপান্তর করার যত্ন নেয়। নেটিভ ডেটা টাইপগুলি যথাসম্ভব ব্যবহার করা হয়।
জনিএইচকে

2
তার মানে কি, যদি আমি জাভাস্ক্রিপ্ট ব্যবহার করে বিএসএন ডকুমেন্ট থেকে ডেটা পুনরুদ্ধার করি , আমি সি / সি ++ ব্যবহার করে পুনরুদ্ধার করব তখন আমি যে কোনও ডাটাবেট পার্থক্য পাব না অর্থাৎ সংখ্যাগুলির যদি দশমিক না থাকে তবে পূর্ণসংখ্যা হিসাবে বিবেচিত হবে ?
abhisekp

1
জনিএইচকে-র ব্যাখ্যা এবং আমার সাম্প্রতিক অভিজ্ঞতার ভিত্তিতে @ অভিসেকপ, আমি মনে করি আপনি যা বলেছেন তা সত্য।
nxmohamad

BSON কলাম ক্ষেত্রের সঠিক ডেটা ধরণটি ফেরত দেবে? অথবা হয় এটি স্ট্রিং হিসাবে সব ধরণের জন্য এটি ফেরত?
mRhNs13

45
  • BSON কি ?

    বাইনারি জেএসএনের সংক্ষিপ্ত বিএসওএন [মৌমাছি h সাহান], জেএসওএন-এর মতো নথির বাইনারি-এনকোডেড সিরিয়ালাইজেশন।

  • এটি কীভাবে জেএসএন থেকে আলাদা ?

    BSON মহাকাশে দক্ষ হওয়ার জন্য ডিজাইন করা হয়েছে, তবে কিছু ক্ষেত্রে JSON এর চেয়ে বেশি দক্ষ নয়। কিছু ক্ষেত্রে বিএসওএন জেএসএনের চেয়েও বেশি জায়গা ব্যবহার করে। এর কারণ হ'ল বিএসওএন ডিজাইনের লক্ষ্যগুলির একটি: ট্র্যাভার্সিবিলিটি। BSON নথিতে কিছু "অতিরিক্ত" তথ্য যুক্ত করে, যেমন স্ট্রিং এবং সাবোবজেক্টগুলির দৈর্ঘ্য। এটি ট্র্যাভারসালকে আরও দ্রুত করে তোলে।

    BSON এনকোড এবং ডিকোড করার জন্য দ্রুত হতেও ডিজাইন করা হয়েছে। উদাহরণস্বরূপ, পূর্ণসংখ্যা 32 (বা 64) বিট পূর্ণসংখ্যার হিসাবে সংরক্ষণ করা হয়, সুতরাং তাদের পাঠ্যে এবং প্রবেশ করার দরকার নেই। এটি ছোট পূর্ণসংখ্যার জন্য JSON এর চেয়ে বেশি স্থান ব্যবহার করে, তবে পার্স করতে খুব দ্রুত।

    কমপ্যাক্টনেস ছাড়াও, বিএসওএন জেএসএন-তে অতিরিক্ত ডেটা প্রকারগুলি অনুপলভ্য করে যোগ করে, উল্লেখযোগ্যভাবে বিনদাটা এবং তারিখের ডেটা টাইপ।

সূত্র: http://bsonspec.org/


এটি কি ডেটা টাইপ জসনব-এর মতো যা বাইনারি জেএসওএন ডেটার জন্য দাঁড়িয়েছে, পোস্টগ্রেস্কলিতে পচে?
পাইরেট অ্যাপ

13

মোংগোডিবি পর্দার পিছনে বিএসওএন নামক বাইনারি-এনকোডযুক্ত বিন্যাসে জেএসএন নথিগুলি উপস্থাপন করে। BSON অতিরিক্ত ডেটা প্রকার সরবরাহ করতে এবং বিভিন্ন ভাষার মধ্যে এনকোডিং এবং ডিকোডিংয়ের জন্য দক্ষ হতে জেএসওএন মডেলকে প্রসারিত করে।


12

MongoDB প্রতিনিধিত্ব করে তাদেরকে JSON নথি মধ্যে বাইনারি এনকোডেড বিন্যাস তাই আমরা একে বলতে লোকচক্ষুর অন্তরালে BSON

বিএসওএন জাসন মডেলকে বাড়িয়ে দেয় অতিরিক্ত তথ্য ধরণের যেমন তারিখ এবং বাইনারি সরবরাহের জন্য যা জেএসএনে সমর্থিত নয় এছাড়াও বিভিন্ন ভাষার মধ্যে এনকোডিং এবং ডিকোডিংয়ের জন্য দক্ষ হওয়ার জন্য ক্ষেত্রগুলি সরবরাহ করে। 

অন্য কথায় আমরা বলতে পারি   BSON হ'ল কেবল বাইনারি জেএসএন  (আরও কিছু ডেটা ধরণের জেএসএনের সুপারসেট, সবচেয়ে গুরুত্বপূর্ণভাবে বাইনারি বাইট অ্যারে)।

মংডব জেএসএনের সিরিয়ালাইজেশন ফর্ম্যাট হিসাবে ব্যবহার করে দস্তাবেজগুলি সংরক্ষণ এবং অ্যাক্সেসের জন্য এনকোডিং ফর্ম্যাট অন্তর্ভুক্ত । কেবলমাত্র আমরা বলতে পারি যে বিএসএন হ'ল জাসন ডেটার জন্য বাইনারি এনকোডযুক্ত বিন্যাস।

আরও মঙ্গোডিবি নিবন্ধের জন্য: https://om9x.com/blog/bson-vs-json/


লিঙ্কটি নষ্ট হয়েছে
PlsWork

5

জেএসএনের শীর্ষে বিএসএন এনকোডিং ব্যবহার করে, মঙ্গোডিবি মূল্যমানের শীর্ষে সূচি তৈরির সক্ষমতা অর্জন করে যা কাঁচা বিন্যাসে JSON নথির অভ্যন্তরে থাকে। এটি এনএসকিউএল সিস্টেম সূচকগুলির কোনও সমর্থন না রাখার জন্য পরিচিত হিসাবে দক্ষ বিশ্লেষণমূলক প্রশ্নগুলি চালাতে সহায়তা করে।


1

অপেক্ষাকৃত সংক্ষিপ্ত এই নিবন্ধটি বিএসএন এবং জেএসন-এর বেশ ভাল ব্যাখ্যা দেয়: এটি জেএসওনের সাথে কিছু সমস্যার কথা বলেছে, কেন বিএসএন আবিষ্কার হয়েছিল, জেএসএনের তুলনায় এটি কোন সমস্যাগুলি সমাধান করে এবং কীভাবে এটি আপনাকে উপকৃত করতে পারে।

https://www.compose.com/articles/from-json-to-bson-and-back/

আমার ব্যবহারের ক্ষেত্রে সেই নিবন্ধটি আমাকে বলেছিল যে জেএসএন-তে সিরিয়ালীকরণ করা আমার পক্ষে কাজ করবে এবং আমাকে বিএসওএন-তে সিরিয়ালাইজ করার দরকার নেই I

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.