| 👀 خبر در یک نگاه:
AWS یک قابلیت جدید به سرویس ذخیرهسازی خودش اضافه کرده که کمک میکند دادهها هم ارزانتر نگهداری شوند و هم راحتتر در چند جای مختلف استفاده شوند. AWS خودش حدس میزند کدام دادهها زیاد استفاده میشوند و کدام نه. دادههایی که کمتر استفاده میشوند را خودکار به بخشهای ارزانتر منتقل میکند، بدون اینکه کاربر کاری انجام دهد یا سرعت سیستم کم شود. این یعنی هزینه کمتر بدون دردسر. |
AWS بهتازگی دو قابلیت جدید برای جدولهای S3 معرفی کرده است:
اول، کلاس ذخیرهسازی لایهبندی هوشمند (Intelligent-Tiering) که بر اساس الگوهای دسترسی، هزینهها را بهصورت خودکار بهینه میکند؛
دوم، پشتیبانی از تکثیر که بدون نیاز به همگامسازی دستی، نسخههای سازگار جدولهای Apache Iceberg را در ریجنها و حسابها مختلف AWS بهطور خودکار حفظ میکند.
قابلیت لایهبندی هوشمند
با قابلیت جدید لایهبندی هوشمند، دادههای کلاس ذخیرهسازی بهصورت خودکار به کمهزینهترین گزینه از میان سه لایه کمتاخیر منتقل میشوند:
- دسترسی پرتکرار (Frequent Access)
- دسترسی کمتکرار (Infrequent Access)
- آرشیو با دسترسی فوری (Archive Instant Access).
به گفته شرکت، گزینه آخر کمهزینهترین لایه است و ۶۸ درصد ارزانتر از Infrequent Access تمام میشود.
سباستین استروماک (Sebastian Stromacq)، مدافع ارشد توسعهدهنده در AWS، مینویسد:
«پس از ۳۰ روز بدون دسترسی، دادهها به لایه دسترسی کمتکرار منتقل میشوند و بعد از ۹۰ روز به آرشیو با دسترسی فوری میروند. این فرایند بدون نیاز به هیچ تغییری در اپلیکیشنها و بدون تاثیر روی عملکرد انجام میشود.»
| 💡 مدیریت دادهها سادهتر شده، هزینهها کمتر میشود و ریسک خطا هم پایین میآید |
بهصورت پیشفرض، جدولها از کلاس ذخیرهسازی استاندارد استفاده میکنند. با این حال، هنگام ایجاد جدول، کاربر میتواند Intelligent-Tiering را بهعنوان کلاس ذخیرهسازی انتخاب کند یا به کلاس ذخیرهسازی پیشفرض که در سطح باکت جدول (Table Bucket) تنظیم شده، تکیه کند.
همچنین کاربران میتوانند Intelligent-Tiering را بهعنوان کلاس ذخیرهسازی پیشفرض باکت جدول تنظیم کنند تا در صورتی که هنگام ساخت جدول، کلاس ذخیرهسازی مشخص نشود، جدولها بهصورت خودکار در Intelligent-Tiering ذخیره شوند.
کاربران میتوانند با استفاده از رابط خط فرمان AWS و دستورهای put-table-bucket-storage-class و get-table-bucket-storage-class، لایه ذخیرهسازی باکت جدول S3 را تغییر دهند یا وضعیت آن را بررسی کنند.
شکل اجرای این دستور میتواند به این صورت باشد:
aws s3tables put-table-bucket-storage-class \
–table-bucket-arn $TABLE_BUCKET_ARN \
–storage-class-configuration storageClass=INTELLIGENT_TIERING
# Verify the storage class
aws s3tables get-table-bucket-storage-class \
–table-bucket-arn $TABLE_BUCKET_ARN \
{ “storageClassConfiguration”:
{
“storageClass”: “INTELLIGENT_TIERING”
}
}
آدفمی آدیمی (Adefemi Adeyemi)، معمار AWS در شرکت Imperious Enterprise، در یک پست لینکدین اشاره کرده است:
«بیشتر دیتاستهای تحلیلی معمولا برای مدتی hot هستند و بعد بهتدریج سرد میشوند. با فعال بودن Intelligent-Tiering در جدولهای S3، دیگر لازم نیست مدام سیاستهای چرخه عمر دادههای Iceberg را تنظیم کنید. این سرویس بر اساس الگوهای دسترسی، آبجکتها را بهصورت خودکار به لایههای ارزانتر منتقل میکند؛ قابلیتی که برای long-lived data lakes میتواند یک مزیت جدی باشد.»
با پشتیبانی از تکثیر در S3 Tables، کاربران میتوانند نسخههای خواندنی سازگار از جدولهای خود را در ریجنها و حسابهای مختلف AWS حفظ کنند. وقتی باکت جدول مقصد مشخص میشود، سرویس جدولهای کپی read-only ایجاد میکند.
این قابلیت، همه بهروزرسانیها را به ترتیب زمانی تکثیر میکند و در عین حال روابط اسنپشات Parent-Child را حفظ میکند. علاوه بر این، جدولهای کپی در عرض چند دقیقه بعد از بهروزرسانی جدول مبدا بهروز میشوند و میتوانند سیاستهای رمزنگاری و نگهداری مستقل از جدول مبدا داشته باشند.
استروماک (Stromacq) میگوید:
«جدولهای کپی را میتوان با استفاده از Amazon SageMaker Unified Studio یا هر موتور سازگار با آیسبرگ (Iceberg)، از جمله DuckDB، PyIceberg، Apache Spark و Trino کوئری گرفت.»
کاربران میتوانند با استفاده از کنسول مدیریتی AWS و APIها یا SDKهای AWS، جدولهای کپی را ایجاد و مدیریت کنند. همچنین امکان مشخص کردن باکتهای جدول مقصد برای تکثیر جدولهای مبدا وجود دارد.
وقتی کاربران Replication را فعال میکنند، S3 Tables در این باکتها جدولهای read-only ایجاد میکند، آنها را با آخرین وضعیت موجود (backfill) پر میکند و بهصورت پیوسته بهروزرسانیها را پایش میکند تا جدولها همگام باقی بمانند.
آدیمی (Adeyemi) در همان پست لینکدین اشاره میکند:
«پشتیبانی بومی از تکثیر (Native Replication) به شما اجازه میدهد نسخههای فقطخواندنی ایجاد کنید که در عرض چند دقیقه همگام میمانند و همچنان میتوان آنها را بهعنوان جدولهای آیسبرگ کوئری گرفت. پیادهسازیهای سفارشی کمتر و زمان بیشتر برای استفاده واقعی از دادهها.»
در نهایت، کاربران میتوانند میزان مصرف فضای ذخیرهسازی را به تفکیک لایه دسترسی از طریق گزارشهای هزینه و مصرف AWS و متریکهای آمازون CloudWatch دنبال کنند.
برای پیکربندی Intelligent-Tiering هیچ هزینه اضافی دریافت نمیشود و کاربران فقط هزینه ذخیرهسازی هر لایه را پرداخت میکنند.
در مورد تکثیر جدولهای S3 هم، هزینهها شامل ذخیرهسازی جدول مقصد، درخواستهای PUT مربوط به تکثیر، بهروزرسانی جدولها (Commit) و پایش آبجکتهای داده تکثیرشده است. جزئیات بیشتر در صفحه قیمتگذاری در دسترس قرار دارد.
منبع: infoq.com

دیدگاهتان را بنویسید