راهنمای سازگاری GBase 8c – انجمن DEV
Summarize this content to 400 words in Persian Lang
GBase 8c، یک سیستم مدیریت پایگاه داده رابطهای با کارایی بالا، از حالتهای مختلف ذخیرهسازی مانند ذخیرهسازی ردیف، ذخیرهسازی ستونی و ذخیرهسازی حافظه پشتیبانی میکند. می توان آن را به اشکال مختلف از جمله راه اندازی مستقل، master-slave و توزیع شده مستقر کرد. GBase 8c عملکرد بالا، در دسترس بودن بالا، مقیاس پذیری الاستیک و امنیت قوی را ارائه می دهد. میتوان آن را بر روی ماشینهای فیزیکی، ماشینهای مجازی، کانتینرها، ابرهای خصوصی و ابرهای عمومی مستقر کرد و خدمات ذخیرهسازی و مدیریت دادهای امن، پایدار و قابل اعتماد را برای سیستمهای اصلی صنعت، سیستمهای کسبوکار اینترنتی و سیستمهای سازمانی دولتی ارائه کرد. از طریق بهینهسازی طراحی گسترده، GBase 8c به سازگاری بالایی با پایگاههای داده اصلی مختلف دست مییابد و راهحلهای پردازش داده انعطافپذیر را به کاربران ارائه میدهد. هدف این مقاله معرفی دقیق ویژگیهای سازگاری GBase 8c است و به کاربران کمک میکند تا مزایای GBase 8c را در انتقال پایگاه داده، یکپارچهسازی و پردازش دادههای چند منبعی درک کرده و به طور کامل از آن استفاده کنند.
1. بررسی اجمالی سازگاری
GBase 8c تحت طراحی و بهینهسازی گستردهای قرار گرفته است تا از نحو و عملکردهای پایگاهدادههای رابطهای متعدد از جمله Oracle، PostgreSQL، MySQL و TD پشتیبانی کند. این سازگاری گسترده به کاربران اجازه می دهد تا هزینه های تبدیل را کاهش دهند و کارایی توسعه را در طول انتقال پایگاه داده، ادغام داده ها یا توسعه بین پلتفرم بهبود بخشند.
2. پیاده سازی سازگاری
این بخش پیاده سازی سازگاری را از منظر استانداردهای SQL، انواع داده ها، پرس و جوهای SQL و توابع توضیح می دهد.
2.1 سازگاری دستوری استاندارد SQL
پشتیبانی از نحو استاندارد SQL:
2.2 سازگاری با نوع داده
GBase 8c از انواع داده ها و عملکردهای پایگاه داده مربوطه در حالت های سازگاری مختلف پشتیبانی می کند.
برای سازگاری MySQL، تغییرات عبارتند از:
پشتیبانی از اصلاحکنندههای اختیاری (n) برای INT/TINYINT/SMALLINT/BIGINT اضافه شد که امکان استفاده از نحو TINYINT(n)/SMALLINT(n)/BIGINT(n) را فراهم میکند. مقدار n اثر عملی ندارد.
نوع داده MEDIUMINT(n) اضافه شد، نام مستعار برای INT4، بدون اثر عملی. 4 بایت فضای ذخیره سازی را اشغال می کند و از -2,147,483,648 تا +2,147,483,647 متغیر است.
اضافه شد FIXED[(p[,s])]نوع داده، نام مستعار NUMERIC، با دقت اعلام شده توسط کاربر. هر چهار رقم اعشاری دو بایت را اشغال می کند، با یک سربار هشت بایت اضافی.
float4 اضافه شد (ص[,s])، معادل dec (ص[,s]).
اضافه شدن دو نوع داده، نام مستعار برای float8.
پشتیبانی از اصلاح کننده های اختیاری (n) برای float4/float اضافه شده که امکان استفاده از نحو float4(n)/float(n) را فراهم می کند. وقتی n بین 1 و 24 باشد، float4(n)/float(n) نشان دهنده نقطه شناور تک دقیق است. وقتی n بین 25 و 53 باشد، float4(n)/float(n) نشان دهنده نقطه شناور با دقت دوگانه است.
برای انواع دادههای اعشاری/دهی/ثابت/عددی، دقت پیشفرض زمانی که مشخص نشده است (10,0) است.
انواع UNSIGNEDINT/TINYINT/SMALLINT/BIGINT اضافه شد، که بالاترین بیت یک رقم است تا یک بیت علامت. علاوه بر این، TINYINT به طور پیشفرض در GBase8s بدون علامت است، در حالی که به طور پیشفرض در MySQL امضا شده است.
اضافه شدن پشتیبانی از ویژگی zerofill فقط برای نحو، بدون هیچ اثر پر کردن صفر واقعی. معادل بدون امضا.
اضافه شدن پارامترهای تبدیل نوع تابع cast با امضا/بدون علامت، با تبدیل castasunsigned به uint8 و تبدیل castassigned به int8.
سینتکس float(p،s)، double(p،s)، real(p،s)، doubleprecision(p،s) اضافه شد. float(p,s)، real(p,s)، doubleprecision(p,s) تقریباً معادل dec(p,s) هستند، با این تفاوت که p و s برای float(p,s)، real(p، s)، doubleprecision(p,s) باید اعداد صحیح باشد در حالی که double(p,s) کاملاً معادل dec(p,s) است.
در حالت سازگاری اوراکل، کاربران میتوانند از انواع دادههای خاص اوراکل مانند NUMBER و VARCHAR2 استفاده کنند و توابع داخلی اوراکل را فراخوانی کنند:
2.3 SQL Query Compatibility
در حالت سازگاری MySQL، می توانید پرس و جوهای SQL را با استفاده از نحو MySQL بنویسید. به عنوان مثال، استفاده از عبارت LIMIT MySQL برای محدود کردن تعداد نتایج پرس و جو:
2.4 استفاده از عملکرد
در حالت سازگاری PostgreSQL، می توانید از توابع داخلی PostgreSQL استفاده کنید. به عنوان مثال، با استفاده از تابع TO_CHAR برای تبدیل تاریخ به یک قالب رشته خاص:
SELECT TO_CHAR(NOW(), ‘YYYY-MM-DD HH24:MI:SS’) AS current_time;
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
3. نتیجه گیری
GBase 8c با ارائه حالتهای سازگاری چندگانه، سازگاری بالایی با پایگاههای دادههای رابطهای اصلی دارد. این سازگاری نه تنها دشواری مهاجرت و ادغام پایگاه داده را کاهش می دهد، بلکه کارایی توسعه و ثبات سیستم را نیز بهبود می بخشد. از طریق استفاده و نگهداری مناسب، GBase 8c می تواند راه حل های پردازش داده انعطاف پذیرتر و کارآمدتری را به کاربران ارائه دهد.
GBase 8c، یک سیستم مدیریت پایگاه داده رابطهای با کارایی بالا، از حالتهای مختلف ذخیرهسازی مانند ذخیرهسازی ردیف، ذخیرهسازی ستونی و ذخیرهسازی حافظه پشتیبانی میکند. می توان آن را به اشکال مختلف از جمله راه اندازی مستقل، master-slave و توزیع شده مستقر کرد. GBase 8c عملکرد بالا، در دسترس بودن بالا، مقیاس پذیری الاستیک و امنیت قوی را ارائه می دهد. میتوان آن را بر روی ماشینهای فیزیکی، ماشینهای مجازی، کانتینرها، ابرهای خصوصی و ابرهای عمومی مستقر کرد و خدمات ذخیرهسازی و مدیریت دادهای امن، پایدار و قابل اعتماد را برای سیستمهای اصلی صنعت، سیستمهای کسبوکار اینترنتی و سیستمهای سازمانی دولتی ارائه کرد. از طریق بهینهسازی طراحی گسترده، GBase 8c به سازگاری بالایی با پایگاههای داده اصلی مختلف دست مییابد و راهحلهای پردازش داده انعطافپذیر را به کاربران ارائه میدهد. هدف این مقاله معرفی دقیق ویژگیهای سازگاری GBase 8c است و به کاربران کمک میکند تا مزایای GBase 8c را در انتقال پایگاه داده، یکپارچهسازی و پردازش دادههای چند منبعی درک کرده و به طور کامل از آن استفاده کنند.
1. بررسی اجمالی سازگاری
GBase 8c تحت طراحی و بهینهسازی گستردهای قرار گرفته است تا از نحو و عملکردهای پایگاهدادههای رابطهای متعدد از جمله Oracle، PostgreSQL، MySQL و TD پشتیبانی کند. این سازگاری گسترده به کاربران اجازه می دهد تا هزینه های تبدیل را کاهش دهند و کارایی توسعه را در طول انتقال پایگاه داده، ادغام داده ها یا توسعه بین پلتفرم بهبود بخشند.
2. پیاده سازی سازگاری
این بخش پیاده سازی سازگاری را از منظر استانداردهای SQL، انواع داده ها، پرس و جوهای SQL و توابع توضیح می دهد.
2.1 سازگاری دستوری استاندارد SQL
پشتیبانی از نحو استاندارد SQL:
2.2 سازگاری با نوع داده
GBase 8c از انواع داده ها و عملکردهای پایگاه داده مربوطه در حالت های سازگاری مختلف پشتیبانی می کند.
برای سازگاری MySQL، تغییرات عبارتند از:
- پشتیبانی از اصلاحکنندههای اختیاری (n) برای INT/TINYINT/SMALLINT/BIGINT اضافه شد که امکان استفاده از نحو TINYINT(n)/SMALLINT(n)/BIGINT(n) را فراهم میکند. مقدار n اثر عملی ندارد.
- نوع داده MEDIUMINT(n) اضافه شد، نام مستعار برای INT4، بدون اثر عملی. 4 بایت فضای ذخیره سازی را اشغال می کند و از -2,147,483,648 تا +2,147,483,647 متغیر است.
- اضافه شد FIXED[(p[,s])]نوع داده، نام مستعار NUMERIC، با دقت اعلام شده توسط کاربر. هر چهار رقم اعشاری دو بایت را اشغال می کند، با یک سربار هشت بایت اضافی.
- float4 اضافه شد (ص[,s])، معادل dec (ص[,s]).
- اضافه شدن دو نوع داده، نام مستعار برای float8.
- پشتیبانی از اصلاح کننده های اختیاری (n) برای float4/float اضافه شده که امکان استفاده از نحو float4(n)/float(n) را فراهم می کند. وقتی n بین 1 و 24 باشد، float4(n)/float(n) نشان دهنده نقطه شناور تک دقیق است. وقتی n بین 25 و 53 باشد، float4(n)/float(n) نشان دهنده نقطه شناور با دقت دوگانه است.
- برای انواع دادههای اعشاری/دهی/ثابت/عددی، دقت پیشفرض زمانی که مشخص نشده است (10,0) است.
- انواع UNSIGNEDINT/TINYINT/SMALLINT/BIGINT اضافه شد، که بالاترین بیت یک رقم است تا یک بیت علامت. علاوه بر این، TINYINT به طور پیشفرض در GBase8s بدون علامت است، در حالی که به طور پیشفرض در MySQL امضا شده است.
- اضافه شدن پشتیبانی از ویژگی zerofill فقط برای نحو، بدون هیچ اثر پر کردن صفر واقعی. معادل بدون امضا.
- اضافه شدن پارامترهای تبدیل نوع تابع cast با امضا/بدون علامت، با تبدیل castasunsigned به uint8 و تبدیل castassigned به int8.
- سینتکس float(p،s)، double(p،s)، real(p،s)، doubleprecision(p،s) اضافه شد. float(p,s)، real(p,s)، doubleprecision(p,s) تقریباً معادل dec(p,s) هستند، با این تفاوت که p و s برای float(p,s)، real(p، s)، doubleprecision(p,s) باید اعداد صحیح باشد در حالی که double(p,s) کاملاً معادل dec(p,s) است.
در حالت سازگاری اوراکل، کاربران میتوانند از انواع دادههای خاص اوراکل مانند NUMBER و VARCHAR2 استفاده کنند و توابع داخلی اوراکل را فراخوانی کنند:
2.3 SQL Query Compatibility
در حالت سازگاری MySQL، می توانید پرس و جوهای SQL را با استفاده از نحو MySQL بنویسید. به عنوان مثال، استفاده از عبارت LIMIT MySQL برای محدود کردن تعداد نتایج پرس و جو:
2.4 استفاده از عملکرد
در حالت سازگاری PostgreSQL، می توانید از توابع داخلی PostgreSQL استفاده کنید. به عنوان مثال، با استفاده از تابع TO_CHAR برای تبدیل تاریخ به یک قالب رشته خاص:
SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS') AS current_time;
3. نتیجه گیری
GBase 8c با ارائه حالتهای سازگاری چندگانه، سازگاری بالایی با پایگاههای دادههای رابطهای اصلی دارد. این سازگاری نه تنها دشواری مهاجرت و ادغام پایگاه داده را کاهش می دهد، بلکه کارایی توسعه و ثبات سیستم را نیز بهبود می بخشد. از طریق استفاده و نگهداری مناسب، GBase 8c می تواند راه حل های پردازش داده انعطاف پذیرتر و کارآمدتری را به کاربران ارائه دهد.