Akhirnya konsistensi berarti perubahan membutuhkan waktu untuk disebarkan dan data mungkin tidak dalam keadaan yang sama setelah setiap tindakan, bahkan untuk tindakan atau transformasi data yang identik. Ini dapat menyebabkan hal-hal yang sangat buruk terjadi ketika orang tidak tahu apa yang mereka lakukan ketika berinteraksi dengan sistem seperti itu.
Tolong jangan mengimplementasikan penyimpanan data dokumen bisnis penting sampai Anda memahami konsep ini dengan baik. Mengacaukan implementasi penyimpanan data dokumen jauh lebih sulit untuk diperbaiki daripada model relasional karena hal-hal mendasar yang akan dikacaukan tidak dapat diperbaiki karena hal-hal yang diperlukan untuk memperbaikinya tidak ada dalam ekosistem. Refactoring data toko dalam pesawat juga jauh lebih sulit daripada transformasi ETL sederhana dari RDBMS.
Tidak semua penyimpanan dokumen dibuat sama. Beberapa hari ini (MongoDB) mendukung transaksi semacam itu, tetapi memigrasi datastore mungkin sebanding dengan biaya implementasi ulang.
PERINGATAN: Pengembang dan bahkan arsitek yang tidak mengetahui atau memahami teknologi dari suatu penyimpanan data dokumen dan takut untuk mengakui bahwa karena takut kehilangan pekerjaan mereka tetapi telah dilatih secara klasik dalam RDBMS dan yang hanya mengetahui sistem ACID (betapa berbedanya sistem ACID). ?) dan siapa yang tidak tahu teknologi atau meluangkan waktu untuk mempelajarinya, akan kehilangan mendesain penyimpanan data dokumen. Mereka juga dapat mencoba dan menggunakannya sebagai RDBMS atau untuk hal-hal seperti caching. Mereka akan memecah apa yang seharusnya menjadi transaksi atom yang harus beroperasi pada seluruh dokumen menjadi potongan "relasional" lupa bahwa replikasi dan latensi adalah sesuatu, atau lebih buruk lagi, menyeret sistem pihak ketiga ke dalam "transaksi". Mereka akan melakukan ini sehingga RDBMS mereka dapat mencerminkan data lake mereka, tanpa memperhatikan apakah itu akan berhasil atau tidak, dan tanpa pengujian, karena mereka tahu apa yang mereka lakukan. Kemudian mereka akan bertindak terkejut ketika benda kompleks yang disimpan dalam dokumen terpisah seperti "pesanan" memiliki lebih sedikit "barang pesanan" dari yang diharapkan, atau mungkin tidak sama sekali. Tapi itu tidak akan sering terjadi, atau cukup sering sehingga mereka hanya akan bergerak maju. Mereka bahkan mungkin tidak menemukan masalah dalam pengembangan. Kemudian, alih-alih mendesain ulang, mereka akan membuang "keterlambatan" dan "coba lagi" dan "memeriksa" untuk memalsukan model data relasional, yang tidak akan berfungsi, tetapi akan menambah kompleksitas tambahan tanpa manfaat. Tapi sekarang sudah terlambat - masalahnya telah dikerahkan dan sekarang bisnis berjalan di atasnya. Akhirnya, seluruh sistem akan dibuang dan departemen akan di-outsourcing-kan dan orang lain akan memeliharanya. Itu masih tidak akan berfungsi dengan benar, tetapi mereka bisa gagal lebih murah daripada kegagalan saat ini.