وقتی سایت دوم اضافه میشود چه چیزی میشکند
سامانهای که برای یک کارخانه ساخته شده پر از فرضهایی است که کسی ننوشته. کارخانه دوم همهشان را پیدا میکند و پیدا کردن عامدانهشان ارزانتر است.

سامانه پایشی که در یک سایت خوب کار میکند، سامانهای است با شمار زیادی فرض ناگفته که همهشان اتفاقا آنجا درستاند. سایت دوم جایی است که آزموده میشوند. این همان لحظهای است که بیشتر برنامههای داده صنعتی یا به یک معماری بدل میشوند یا به دو سامانه، و تفاوت را عمدتا این تعیین میکند که چند مورد از موارد زیر پیشبینی شده بود.
نخست نامگذاری تصادم میکند. تگهای سایت یک در سایت یک یکتا بودند. در سایت دو TT-101 دیگری هست، موتور دیگری به نام M3، خط دیگری به نام خط ۲. اگر مدل بعد سایت نداشته باشد — و مدلهای تکسایتی بهندرت دارند، چون سایت ضمنی بوده — آنگاه پیوستن داده یا بازنویسی میکند یا پیشوندی میخواهد که باید در هر پرسوجو، گزارش و داشبورد موجود عقبنصب شود. افزودن این بعد پیش از نیاز تقریبا هیچ هزینهای ندارد؛ افزودنش بعدا به همه چیز دست میزند.
زمان در پی میآید. یک سایت میتواند با زمان محلی سر کند چون همه چیز در سامانه در آن شریک است. دو سایت در دو منطقه زمانی نمیتوانند، و آسیبشناسیاش ظریف است: تجمیعها درست به نظر میرسند تا وقتی مقایسهای از مرز ساعت تابستانی بگذرد، که در آن نقطه یک سایت روزی بیستوسهساعته دارد و گزارش شیفت بیصدا جابهجا میشود. قاعده ساده است و ارزش دارد از آغاز اعمال شود — در زمان جهانی هماهنگ ذخیره کنید، منطقه سایت را به شکل ویژگی حمل کنید، و فقط در لحظه نمایش تبدیل کنید. همین برای همگامسازی ساعت هم هست: سایت دو ترتیب انتیپی متفاوتی خواهد داشت و شاید هیچ، و برچسبهای زمانی ناسازگار میان سایتها بدتر از ناسازگاری درون یک سایتاند، چون کسی نمیتواند بگوید کدام سایت نادرست است.
واحدها و قراردادها بعدیاند و موذیانهترند چون اعدادی تولید میکنند که به نظر درست میآیند. سایت دو فشار را به بار میسنجد نه پیاسآی، جریان را به متر مکعب بر ساعت، دما را با مرجعی دیگر. شیفت را هشت ساعت میشمارد جایی که سایت یک دوازده میشمارد. «در دسترس» را برای اثربخشی کلی تجهیزات جور دیگری تعریف میکند. هر یک از اینها در نمودار نامرئی و در مقایسه کشندهاند، و مقایسه دقیقا همان چیزی است که سایت دوم برای ممکن کردنش آمده.
سپس شبکه. طراحی تکسایتی تقریبا به یقین لینک محلی قابل اتکایی را به جایی که داده مینشیند فرض کرده بود. سایت دوم روی اپراتور دیگری است، پشت فایروال دیگری که کسی با دیدگاههای متفاوت ادارهاش میکند، شاید روی لینک ماهوارهای یا سلولی با تاخیر واقعی و سقف داده، و شاید در کشوری با قواعدی درباره اینکه داده کجا میتواند ذخیره شود. ذخیره و ارسال در لبه دیگر ویژگی خوشایندی نیست و به الزام بدل میشود، و پاسخ به «در قطعی هشتساعته چه میشود» باید رفتاری طراحیشده باشد نه کشفشده.
هویت و دسترسی احتمالا در یک سایت فکر بعدی بودند چون همه همه را میشناختند. در دو سایت، این پرسش که آیا مهندس سایت دو میتواند داده سایت یک را ببیند، نقطه تنظیم سایت یک را تغییر دهد یا هشدار سایت یک را تایید کند، پرسشی سیاستی با پاسخی واقعی میشود و سامانه باید بتواند بیانش کند. عقبنصب کردن مجوزدهی در سامانهای که جمعیت واحد و مورد اعتمادی را فرض کرده بود، از ناخوشایندترین مهاجرتهای این حوزه است.
دو مورد دیگر که بهطور معمول دستکم گرفته میشوند. تنوع تجهیزات: سایت دو نسل کنترلر دیگری دارد، فریمور دیگری، فروشنده دیگری برای همان کارکرد، ماشینی که مقداری را گزارش میکند که سایت یک محاسبهاش میکند. هر کدی که نقشه رجیستری را فرض کرده بود، حالا کدی است که به لایه درایور نیاز دارد. و تنوع عملیاتی: سایت دو محصولات دیگری تولید میکند، رژیم نگهداشت دیگری دارد و برای کارهایی که سایت اول متمرکز انجام میداد رویه محلی خودش را دارد. مدل داده باید بپذیرد که همان فرایند اسمی واقعا همان فرایند نیست.
توصیه عملی این است که سایت نخست را چنان بسازید که گویی دومی از پیش وجود دارد، که شاید چند درصد هزینه دارد و ارزانترین بیمه این حوزه است. مشخصا: از روز نخست شناسه سایت را در مدل بگذارید؛ زمان جهانی را ذخیره و منطقهها را حمل کنید؛ واحدها و بازهها را به جای قرارداد به شکل ویژگی نگه دارید؛ مدل تجهیزات را عام تعریف کنید و به ازای هر سایت نمونهسازی کنید نه آنکه تجهیزات سایت یک را مستقیم توصیف کنید؛ حتی جایی که لینک خوب است بافر ذخیره و ارسال در لبه بگذارید؛ و قراردادهای محلی سایت — الگوی شیفت، تقویم، کد محصول، تعریف در دسترس بودن — را به شکل داده بنویسید نه فرضهایی درون پرسوجوها.
و وقتی سایت دوم واقعا رسید، در برابر وسوسه قوی همانندسازی سایت اول مقاومت کنید. کپی سریع است، کار میکند، و دو سامانه میسازد که ظرف یک سال از هم دور میشوند و هرگز قابل مقایسه نخواهند بود. نکته سایت دوم مقایسه است؛ معماریای که نمیتواند مقایسه کند، منفعت اصلی را به بهای ماه نخست واگذار کرده است.