نحوه جستجوی JSON در Couchbase از طریق مجموعه ها و حوزه ها

@ 1tylermitchellTyler Mitchell

نویسنده فناوری اطلاعات ، geogeek ، مدیریت محصول و بازاریابی. #bigdata #analytics #geospatial

این هفته من در یک رویداد 3 روزه Couchbase Connect شرکت می کنم و در مورد برخی از موضوعاتی که گزارش خواهم داد جالب ترین پیدا کردن

امروز من یکی از ویژگی های جدید N1QL را که در نسخه بعدی ارائه شده است ، توسط Keshav Murthy ، تحقیق و توسعه VP در Couchbase ارائه می دهم. این جلسه پس از ثبت نام به صورت تکرار در صورت درخواست در دسترس است.

روز اول جلسات زیادی برگزار شد اما من می دانستم که بخش به روزرسانی N1QL دارای نوآوری های فنی زیادی خواهد بود. N1QL زبان جستجوی SQL است که در اسناد JSON ذخیره شده در Couchbase استفاده می شود. با Couchbase ، شما فقط از یک ذخیره مقدار کلیدی استفاده نمی کنید بلکه از یک پایگاه داده کامل اسناد JSON استفاده می کنید که همچنین داده ها را از طریق پرس و جو مانند پایگاه داده رابطه ای (در میان موارد دیگر) نشان می دهد.

بیشتر N1QL یکسان با SQL است ، اما تفاوت های ظریف وجود دارد که حتی بیشتر از SQL استاندارد – به ویژه برای ویژگی های خاص JSON مانند زیر اشیا، ، مدیریت آرایه ها و ، اکنون مدیریت داده های منطقی دقیق تر ، قدرت اضافه می کند.

یکی از کاربردی ترین ویژگیهای جدید هم برای توسعه دهندگان و هم برای DBA ، اجرای محدوده ها و مجموعه ها است.

من قصد دارم در موضوعات دیگر مانند “flex ویژگی های N1QL برای جستجو اما این کار را در یک پست جداگانه انجام می دهد تا این کوتاه بماند.

Logical Data Containment: Scope and Collections

Background

واحدهای اصلی مهار در Couchbase دارای سطل هایی هستند که اسناد را ذخیره می کنند. سطلهای نامگذاری شده گروه بندی اسناد را برای یک برنامه خاص یا حتی یک گروه کاری امکان پذیر می کند که نیاز به مجوزهای کاربر متفاوت از دیگران دارد.

بررسی اجمالی Couchbase N1QL با محدوده و ویژگی های مجموعه

بروزرسانی امروز

در نسخه 2019 پیش نمایش مجموعه ها بعنوان زیر واحد سطل مشاهده شد. به روزرسانی که امروز مورد بحث قرار گرفته است ، آن را به سطح تصفیه شده تری می رساند – از جمله محدوده ها در یک سطل و مجموعه های بیشتر در محدوده ها.

هر سطح از این سلسله مراتب از طریق نحو مسیر نام جدول که در جای دیگر استفاده شده است ، قابل دسترسی است. در سکو به عنوان مثال ، در نمودار بالا ، بند FROM داده های مورد استفاده در پرس و جو را مشخص می کند ، هر ظرف زیرمجموعه ای از اسناد را در خود نگه می دارد و با نام قابل ارجاع است:

cxprof.usa.loginfo -> bucket.scope.collection

توجه داشته باشید که ایجاد شاخص ها به آسانی هر محیط SQL ایجاد می شود و فقط فیلدهایی که می خواهید پرس و جو کنید لازم است نمایه شده به همین ترتیب ، داده ها بسته به نیاز می توانند به صورت خودکار یا با مداخله دستی پارتیشن بندی شوند.

چرا مهم است

گروه بندی منطقی داده ها در سیستم های NoSQL به بهبود توانایی مدیریت داده ها کمک می کند موثرتر. برخی از برنامه ها فقط به زیر مجموعه ای از اسناد و مدارک احتیاج دارند ، بنابراین افشای همه آنها می تواند پیچیدگی بی موردی را ایجاد کند.

بدون این توانایی محدود کردن دامنه ، یک پرسش ممکن است در نهایت به چندین مورد WHERE نیاز داشته باشد بندهایی برای بررسی زیر مجموعه ای از داده های مورد علاقه. در حالی که محدوده ها و مجموعه ها می توانند همه آن را در پشت صحنه مدیریت کنند.

به عنوان مثال ، اسناد می توانند در عوض دارای زمینه هایی مانند countryName یا appName باشند استفاده از نحو فوق ، اما انتشار دو بند WHERE دیگر به عبارت جستجو شده است ، به عنوان مثال:

از cxprof
WHERE countryName = “ایالات متحده”
AND appName = “loginfo”

در عوض ، ویژگی های جدید امکان محدوده بندی مطلوب را در بند FROM فراهم می کند:

از cxprof.use. loginfo

چرا واقعاً مهم است

با گسترش تمام قابلیت های جستجوی N1QL برای پشتیبانی از دامنه و استفاده از فضای کلیدی مجموعه ، امکان مدیریت دقیق تر داده ها از جمله امنیت داده.

کنترل دسترسی مبتنی بر نقش (RBAC) در این سطح جدید موجود است ، همچنین توسعه دهندگان برنامه را قادر می سازد با استفاده از نقش ها ، مسائل مربوط به دسترسی را به پایگاه داده بارگیری کنند. DBA ها می توانند کاربران را تعریف کرده و آنها را به مناطق خاص محدود کرده و مجوزهای سطح خواندن / نوشتن / ویرایش را به همین ترتیب اختصاص دهند.

برای اطلاعات بیشتر وبلاگ های Kesav Murthy را که عمیق تر می شوند بخوانید < p class = "paragraf"> این فقط قسمت کوچکی از به روزرسانی N1QL است که امروز ارائه شده است ، اما در روزهای بعدی با آزمایش ویژگی های جدید و دنبال کردن جلسات بیشتر در این رویداد ، موارد بیشتری خواهم داشت.

به این رویداد در connect.couchbase.com بپیوندید و سایر نوآوری های دیگر با N1QL از جمله معاملات ACID ، UDF ، مشاور شاخص و موارد دیگر را مشاهده کنید. نمی توانم صبر کنم تا همه آنها را با یک پروژه واقعی امتحان کنم 🙂

من جمعه جلسه خودم را در زمینه ساده سازی جستجوی متن دارم – امیدوارم که آنجا را ببینم!

< p class = "paragraf"> بخوانید پشت دیوارپوش در https://1tylermitchell.medium.com/querying-json-data-in-couchbase-use-scope-and-collections-83ebd92fcb9e