DBMS SQLite 3.42 ۽ DuckDB 0.8.0 جو رليز. CG/SQL SQLite لاءِ محفوظ ڪيل طريقا لاڳو ڪرڻ سان

SQLite 3.42 جو رليز، ھڪڙو ھلڪو وزن DBMS پلگ ان لائبريري جي طور تي ٺاھيو ويو آھي، شايع ڪيو ويو آھي. SQLite ڪوڊ عوامي ڊومين ۾ ورهايو ويو آھي، يعني. ڪنهن به مقصد لاءِ بغير پابندي ۽ مفت ۾ استعمال ڪري سگهجي ٿو. SQLite ڊولپرز لاءِ مالي مدد خاص طور تي ٺاھيل ڪنسورشيم پاران مهيا ڪئي وئي آھي، جنھن ۾ ڪمپنيون شامل آھن جهڙوڪ Adobe، Oracle، Mozilla، Bentley ۽ Bloomberg.

مکيه تبديليون:

  • FTS5 مڪمل ٽيڪسٽ انڊيڪسز لاءِ، محفوظ-حذف حڪم لاڳو ڪيو ويو آهي، جيڪو مڪمل طور تي ختم ٿيڻ کان پوءِ باقي بچيل ڊيٽا کي صاف ڪري ٿو.
  • JSON ڊيٽا جي پروسيسنگ لاءِ ڪم هاڻي JSON5 ايڪسٽينشن کي سپورٽ ڪري ٿو.
  • بهتر ڪيل سوال پلانر. ڊفالٽ طور، ڳڻپ جي-ڏسڻ جي اصلاح کي فعال ڪيو ويو آهي. ذيلي سوالن ۾ غير استعمال ٿيل ڪالمن جي پروسيسنگ کي ختم ڪيو ويو آهي. push-down optimization جي بهتر عمل درآمد.
  • شامل ڪيو ويو “--unsafe-testing” آپشن کي ڪمانڊ لائن انٽرفيس ۾، جيڪو ڪجھ خطرناڪ حڪمن جي استعمال جي اجازت ڏئي ٿو، جهڙوڪ “.testctrl”، ٽيسٽنگ ۾ استعمال لاءِ. محفوظ موڊ ۾ ("-safe")، ".log on" ۽ ".log off" حڪمن جي استعمال جي اجازت آهي. شامل ڪيو ويو سپورٽ لاءِ ”-“ ڊيليٽر، دليلن لاءِ جنهن کان پوءِ آپشن پروسيسنگ غير فعال آهي. شامل ڪيا ويا ": inf" ۽ ":nan" پيرا ميٽرس لاتعداد لاتعداد ۽ NaN قدرن سان.
  • ائپليڪيشن جي وضاحت ڪيل SQL فنڪشن نالن کي CROS، FULL، INNER، LEFT، NATURAL، OUTER، ۽ RIGHT لفظن سان اوورليپ ڪرڻ جي اجازت آهي.
  • PRAGMA integrity_check جي صلاحيتن کي وڌايو ويو آھي. NOT NULL حالت سان ڪالمن ۾ NaN قدرن جي وضاحت لاءِ چيڪنگ شامل ڪئي وئي. غلطي جي پيغامن جي بهتر معلومات مواد.
  • سيشن اضافو ROWID کان سواءِ ٽيبل تان تبديلين کي مداخلت ڪرڻ جي اجازت ڏئي ٿو.
  • "ذيلي سيڪنڊ" موڊيفائر کي سيڪنڊن جا حصا استعمال ڪرڻ لاءِ وقت ۽ تاريخن سان ڪم ڪرڻ لاءِ افعال ۾ شامل ڪيو ويو آهي.
  • 2000 کان 1000 تائين arrays ۽ JSON شين لاءِ ڊفالٽ ريٽرنشن ڊيپٿ گھٽجي وئي آھي.

اضافي طور تي، DuckDB 0.8.0 DBMS جو رليز ڪيو ويو آهي، جيڪو SQLite جو هڪ نسخو ٺاهي ٿو، تجزياتي سوالن تي عمل ڪرڻ جي صلاحيتن ۽ اصلاحن سان وڌايو ويو آهي جيڪو ذخيرو ٿيل ڊيٽا جي هڪ اهم حصي کي ڍڪيندو آهي، مثال طور، مڪمل مواد جي مجموعي کي انجام ڏيڻ. ٽيبلن جو يا ڪيترن ئي وڏن ٽيبلن کي ضم ڪرڻ. SQL جي هڪ جديد ٻولي مهيا ڪري ٿي جنهن ۾ تمام پيچيده ۽ وقت ضايع ڪندڙ سوالن جي پروسيسنگ لاءِ اضافي صلاحيتون شامل آهن، ۽ پيچيده قسمن (اريز، ڍانچي، يونين) کي پڻ سپورٽ ڪري ٿي، ڪيترن ئي سوالن کي هڪ ئي وقت هلائڻ، ۽ CSV، JSON، ۽ Parquet فائلن مان سڌو سنئون سوالن کي هلائڻ. . اهو ممڪن آهي ته درآمد ڪرڻ PostgreSQL DBMS کان.

SQLite کان شيل ڪوڊ کان علاوه، پروجيڪٽ هڪ الڳ لائبريري ۾ PostgreSQL کان هڪ پارسر استعمال ڪري ٿو، MonetDB کان تاريخ رياضي جو حصو، ونڊو افعال جي پنهنجي عمل درآمد (سيگمينٽ ٽري ايگريگيشن الگورٿم جي بنياد تي)، هڪ باقاعده ايڪسپريس پروسيسر جي بنياد تي. RE2 لائبريري، ان جو پنهنجو سوال آپٽمائزر، ۽ هڪ MVCC ڪنٽرول ميڪانيزم هڪ ئي وقت ۾ ڪمن جي عملداري (ملٽي ورزن ڪنورينس ڪنٽرول)، گڏو گڏ هڪ ویکٹرائيز سوال ايگزيڪيوشن انجڻ جنهن جي بنياد تي هائپر پائپ لائننگ ڪوئوري ​​ايگزيڪيوشن الگورٿم، جيڪا اجازت ڏئي ٿي قدر جي وڏي سيٽ ھڪڙي آپريشن ۾ ھڪڙي وقت تي عمل ڪيو وڃي. پروجيڪٽ ڪوڊ MIT لائسنس تحت ورهايو ويو آهي.

DuckDB جي نئين نسخي ۾:

  • شامل ڪيو ويو نئون اظهار "PIVOT" ۽ "UNPIVOT" قطارن کي ڪالمن ۾ تبديل ڪرڻ ۽ ان جي برعڪس.
  • ڊيٽا کي درآمد ۽ برآمد ڪرڻ دوران بهتر متوازي ڪرڻ. ڊفالٽ طور، CSV فائلن مان ملٽي ٿريڊ ريڊنگ ۽ ملٽي ٿريڊ رائٽنگ لاڳو ٿينديون آهن جڏهن Parquet، CSV ۽ JSON فارميٽ استعمال ڪندا.
  • شامل ڪيو ويو "**" آپريٽر کي بار بار ڊاريڪٽري ذريعي ٻيهر ورجائڻ لاءِ جڏهن فائيل رستا جو تعين ڪيو وڃي (مثال طور، FROM "'data/glob/crawl/stackoverflow/**/*.csv'؛").
  • شامل ڪيل سپورٽ ضم ڪرڻ جي عملن لاءِ (JOIN) ڊيٽا لاءِ ٽائيم سيريز جي شڪل ۾ (مخصوص وقت جي وقفن تي پيٽرول جي قيمتن جا سلائسون)، جنهن ۾ رڪارڊ کي ضم ڪرڻ جو معيار صحيح نه آهي، پر قدرن جو هڪ اندازي مطابق اتفاق آهي. وقت سان گڏ فيلڊ ۾ (مثال طور، توهان رڪارڊ کي ضم ڪري سگهو ٿا، وقت جيڪو 1 منٽ کان وڌيڪ مختلف ناهي).
  • ڊيٽابيس ميٽاداٽا جي سست لوڊنگ تي عمل ڪيو، جنهن اهو ممڪن ڪيو ته ڊي بي ايم ايس جي لانچ کي ڏهه ڀيرا تيز ڪرڻ.
  • پٿون ۾ ڪسٽم افعال کي ڳنڍڻ لاءِ مدد شامل ڪئي وئي.
  • Apache Arrow استعمال ڪندي ڊيٽا جي منتقلي لاءِ ADBC ​​(Arrow Database Connectivity) API لاءِ سپورٽ شامل ڪئي وئي.
  • سوفٽ ڪوڊ سان انضمام لاءِ پابند لاڳو ڪيو ويو آهي.
  • ڊويزن آپريٽر جي رويي کي تبديل ڪيو ("/") ڊفالٽ طور تي انٽيجر آپريشن جي بدران سچل پوائنٽ حساب ڪرڻ لاء. هڪ نئون آپريٽر “//” انٽيجر ڊويزن لاءِ تجويز ڪيو ويو آهي. "SET integer_division=true؛" سيٽنگ ڪندي پراڻي رويي کي واپس ڪري سگھجي ٿو.
  • حساب ڪتاب ۾ صفر رڪارڊ کڻڻ جو طريقو جڏهن ترتيب ڏنو ويو آهي "NULLS FIRST" کان "NULLS LAST" ۾ تبديل ڪيو ويو آهي، يعني. NULL قدر هاڻي فهرست جي شروعات جي بجاءِ آخر ۾ ڇپيا ويندا. "SET default_null_order='nulls_first'؛" سيٽنگ ڪندي پراڻي رويي کي واپس ڪري سگھجي ٿو.

اضافي طور تي، اسان Facebook پاران تيار ڪيل CG/SQL پروجيڪٽ کي نوٽ ڪري سگھون ٿا، جيڪو SQLite سان محفوظ ڪيل طريقا استعمال ڪرڻ لاءِ ڪوڊ جنريٽر مهيا ڪري ٿو. CG/SQL توهان کي T-SQL (Transact-SQL) جي هڪ خاص ڊائلڪٽ ۾ ذخيرو ٿيل طريقيڪار لکڻ جي اجازت ڏئي ٿو، جيڪا معياري C لائبريري جي ڪالنگ فنڪشن ۽ SQLite ۾ ڊيٽا تائين رسائي جي اجازت ڏئي ٿي. ٺاهيل ذخيرو ٿيل طريقا سي ڪوڊ ۾ مرتب ڪيا ويا آھن جيڪي مخصوص ڪارناما انجام ڏيڻ ۽ پيچيده سوالن کي پروسيس ڪرڻ لاء SQLite C API استعمال ڪندا آھن. مرتب ٿيل ذخيرو ٿيل طريقا سي، جاوا، ۽ مقصد-سي پروگرامن سان ڳنڍيل هوندا. پروجيڪٽ ڪوڊ C ۾ لکيل آهي ۽ MIT لائسنس تحت ورهايو ويو آهي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو