یادداشت مهندسی / 08
مدلسازی داده با PostgreSQL
مدل داده باید قواعدی را نگه دارد که حتی با رسیدن چند درخواست همزمان هم نباید نقض شوند. PostgreSQL جای پایداری برای این قواعد در کنار داده فراهم میکند.
در این یادداشت 05 پرسش
چه قواعدی باید در شمای پایگاه داده باشند؟
رابطهها، تهیپذیری، یکتایی و قیدهای بررسی برای اصولی مناسباند که برنامه هرگز نباید نقض کند. اعتبارسنجی برنامه پیام بهتری میدهد و قید پایگاه داده از ثبت نهایی محافظت میکند.
ایندکس را چگونه انتخاب کنیم؟
از فیلتر، اتصال جدولها و ترتیب واقعی پرسوجوها شروع میکنم. ایندکس خواندن را سریعتر میکند اما هزینهٔ ذخیرهسازی و نوشتن دارد؛ بنابراین قبل از افزودن آن، برنامهٔ اجرای پرسوجو را میسنجم.
تراکنش چه زمانی لازم است؟
وقتی چند نوشتن یک عمل واحد را میسازند، باید با هم موفق یا ناموفق شوند. تراکنش را کوتاه نگه میدارم و هنگام نگهداشتن قفل پایگاه داده منتظر سرویس بیرونی نمیمانم.
مهاجرت داده چگونه منتشر شود؟
تغییر شما باید با نسخهٔ برنامه بررسی شود. برای تغییرهای پرریسک، ابتدا ساختار تازه را میافزایم، دادهٔ قبلی را منتقل میکنم، خواندن و نوشتن را به آن میبرم و ساختار قدیمی را در انتشار بعدی حذف میکنم.
برای تاریخچهٔ گفتوگو چه چیزی تغییر میکند؟
گفتوگو، اعضا، پیامها و وضعیت خواندن، عمر و قواعد دسترسی متفاوتی دارند. مدل رابطهای تاریخچه را نگه میدارد و بررسی عضویت تعیین میکند کدام رکورد به درخواستکننده برسد.