একটি ভালো schema হলো client-driven, প্রান্তে default-ভাবে nullable, এবং version ছাড়াই বিকশিত হওয়ার উপযোগী। এটি domain-কে client যেভাবে ব্যবহার করে সেই পরিভাষায় মডেল করে, আপনার database table-এর ভিত্তিতে নয়।
Nullability
কোনো field-কে non-null (!) করুন কেবল তখনই যখন আপনি সবসময় সেটি ফেরত দিতে পারবেন। -এর অতিরিক্ত ব্যবহার একটি ফাঁদ: কোনো non-null field error করলে তা তার পুরো parent object-কে null করে দেয়, ফলে একটি ছোট ব্যর্থতা বড় ফাঁকা হয়ে যায়। downstream service-এর উপর নির্ভরশীল যেকোনো কিছুর জন্য nullable-কে প্রাধান্য দিন।
