মারিয়াডিবি কি নেটিভ জেএসওএন কলামের ডেটা টাইপ সমর্থন করে?


13

আমি গতিশীল কলামগুলির বিষয়ে কথা বলছি না, আমি দেশীয় কলাম জেএসওএন ডেটা ধরণের সম্পর্কে জিজ্ঞাসা করছি। সহজ কথায়, আমি কি কোনও মারিয়াডিবি সংস্করণে নিম্নলিখিত কোডটি চালাতে পারি?

CREATE TABLE example (names JSON);

যতদূর আমি জানি, এটি এখনও নয় তবে আমি এখনও নিশ্চিত নই যেহেতু যুগে যুগে মারিয়াডিবিতে জেএসওএন সমর্থন সম্পর্কে প্রচুর বিষয় রয়েছে, তবে কোনওটিই শেষ পর্যন্ত এটি বাস্তবায়িত হয়নি বলে জানায়।

-- হালনাগাদ --

JSON ডেটা টাইপ সমর্থন সম্পর্কে মারিয়াডিবি জিরাতে এখনও তিনটি সমস্যা খোলা আছে, যার অর্থ এটি এখনও কার্যকর হয়নি, তাই না?


সেই আপডেটটি প্রশ্নের মধ্যে থাকা উচিত নয়, এটিই উত্তর। আপনার এটি সরানো উচিত এবং স্ব-উত্তর দেওয়া উচিত। @Omranic।
ইভান ক্যারল

> মাইএসকিউএল এর জেএসএন ডাটা টাইপের সাথে সামঞ্জস্যতার কারণে জেএসএন হ'ল লং টেক্সটের একটি নাম alias mariadb.com/kb/en/library/json-data-type
zx1986

উত্তর:


7

JSON সমর্থন মারিয়াডিবি 10.2 এ আসবে। 28.02.2017 থেকে অফিসিয়াল মারিয়াডিবি ব্লগ পোস্টটি দেখুন । কিছু উদাহরণ এসকিউএল বিবৃতি এবং বৈধতা আছে।

JSON দ্রুত ডেটা ইন্টারচেঞ্জের জন্য এবং কাঠামোগত তথ্যের জন্য স্ট্যান্ডার্ড ফর্ম্যাট হয়ে উঠছে, এবং মারিয়াডিবি 10.2 জেএসএএন সমর্থনকারী ফাংশনগুলিতে একটি পরিসর যুক্ত করেছে, যদিও কোনও জেএসএন ডেটাটাইপ এখনও প্রয়োগ করা হয়নি। জেএসওএন ডেটাটাইপ না থাকার কিছু কারণ রয়েছে, তবে একটি হ'ল জেএসএন একটি পাঠ্য-ভিত্তিক ফর্ম্যাট হিসাবে এটির পক্ষে অনেকগুলি সুবিধা নেই। এই ব্লগ পোস্টটি JSON এবং এর ব্যবহারের ক্ষেত্রে বর্ণনা করার পাশাপাশি মারিয়াডিবি 10.2 জেএসওএন কার্যকারিতা এবং এর জন্য ব্যবহারগুলি বর্ণনা করার পাশাপাশি জেএসওএন প্রসেসিংয়ের জন্য দরকারী যে মারিয়াডিবি 10.2-এ কিছু অন্যান্য সংযোজন প্রদর্শন করছে।


2
10.2.6 অবধি, এখনও দেশীয় জেএসএন সমর্থন করে না।
কিটিগার্ল

1
তারা জেসনকে কেবলমাত্র 10.3 হিসাবে মেনা পাঠ্য হিসাবে সঞ্চয় করে
মুসা হায়দারি

5

আপনি যখন "ডেটা টাইপ" বলবেন তখন এটি আপনার অর্থের উপর নির্ভর করে। PostgreSQL এর মতো কিছু ডাটাবেসগুলিতে একটি JSON ডেটা টাইপ থাকে যা সম্পূর্ণ পাঠ্য অনুসন্ধান, বাইনারি স্টোরেজ মেকানিজম, সূচিকরণ এবং ডেটা অ্যাক্সেস করার জন্য অপারেটরের পুরো স্যুটকে অনুমতি দেয়। মারিয়ার এখনও তা নেই। ডেটা টাইপ বিশেষত এমডিইভি -9144 দ্বারা ট্র্যাক করা হচ্ছে ।

তা সত্ত্বেও, মাইএসকিউএলে খুব সীমিত প্রকারটি এনে দেয়, বাগ রক্ষণকারীদের একজন থেকে,

JSON ডেটা টাইপ সরাসরি এসকিউএল স্ট্যান্ডার্ডের বিরোধিতা করে, যা বলে যে JSON_ * ফাংশন যুক্তি হিসাবে স্ট্রিং নেয়। এছাড়াও, গতি অনুসারে মারিয়াডিবি -র বাইনারি জেএসওনের প্রয়োজন নেই, আমাদের বেঞ্চমার্ক অনুসারে, আমাদের জেএসএন পার্সারটি বাইনারি জেএসওনে মাইএসকিউএল হিসাবে জেএসওএন পাঠ্যের পক্ষে তত দ্রুত। তা হল, মারিয়াডিবিতে জেএসএনের পক্ষে কেউ ভিউআরচার বা টেক্সট করতে পারে। যদি কোনও বৈধকরণ প্রয়োজন হয় তবে একজন এটি চেক সীমাবদ্ধতার সাথে করতে পারেন:

my_json_column TEXT CHECK (JSON_VALID(my_json_column))

যদিও আমরা মাইএসকিউএল সামঞ্জস্যের জন্য জেএসএন "টাইপ" যুক্ত করব।

আমার পড়া থেকে, এটি বাইনারি JSON এর ঠিক বিন্দু নয় আসুন মাইএসকিউএল ডক্সকে উল্লেখ করুন

বাইনারি ফর্ম্যাটটি নথিতে আগে বা পরে সমস্ত মান না পড়েই কী বা অ্যারে সূচক দ্বারা সরাসরি সাবওজেক্টগুলি বা নেস্টেড মানগুলি সন্ধান করার জন্য সার্ভারকে সক্ষম করার জন্য কাঠামোযুক্ত।

আবার, পোস্টগ্রি এরjsonb আছে অনেক যে বেশী।

jsonb ডেটা একটি পচা বাইনারি ফর্ম্যাটে সংরক্ষণ করা হয় যা সংযোজন রূপান্তর ওভারহেডের কারণে ইনপুটটিকে কিছুটা ধীর করে তোলে, তবে প্রক্রিয়াতে উল্লেখযোগ্যভাবে দ্রুততর হয়, কারণ কোনও পুনর্বারণ প্রয়োজন হয় না। jsonb এছাড়াও সূচক সমর্থন করে, যা একটি উল্লেখযোগ্য সুবিধা হতে পারে।

tldr; মারিয়া ডিবিতে এখনও কোনও জেএসএন টাইপ নেই। এটি "টাইপ" পেয়ে গেলেও এটি কোনও পাঠ্য-বৈধকরণের (পোস্টগ্র্রেএসকিউএলএল jsonটাইপের মতো) একটি পাতলা মোড়ক মাত্র । বাইনারি জেএসএন টাইপের (পোস্টগ্রিজ এসকিউএল এর মতো jsonb) জন্য কোনও পরিকল্পনা নেই কারণ বিকাশকারীরা আপাতদৃষ্টিতে সুবিধাগুলি বুঝতে পারে না।


পোস্টগ্র্রেসের জেএসওএন সুরক্ষিত বা পচে যাওয়া সঞ্চিত আছে কিনা, জেএসন বাইনারি কিনা তা ব্যবহারকারীর সত্যই যত্ন নেই। জেএসন এ এর ​​জন্য গুরুত্বপূর্ণ) ক) আপনি এটি কী রেখেছেন, আপনি বেরিয়ে আসেন এবং বৈধ ইনপুট পরীক্ষা করার সম্ভাবনা রয়েছে। খ) আপনি জেএসএনের অংশগুলি সূচক এবং অনুসন্ধান করতে পারেন। 3) এটি পরিচালনা করার জন্য বিভিন্ন কার্য রয়েছে।
ভ্লাদিস্লাভ ভ্যানট্রব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.