Ada banyak solusi NoSQL, masing-masing dengan kekuatan dan kelemahannya sendiri, jadi yang berikut harus diambil dengan sebutir garam.
Tetapi pada dasarnya, apa yang dilakukan oleh banyak basis data NoSQL adalah mengandalkan proses denormalisasi dan mencoba mengoptimalkan untuk kasus yang dinormalisasi. Misalnya, Anda membaca posting blog bersama dengan komentarnya dalam database berorientasi dokumen. Seringkali, komentar akan disimpan bersama dengan pos itu sendiri. Ini berarti bahwa akan lebih cepat untuk mengambil semuanya bersama-sama, karena mereka disimpan di tempat yang sama dan Anda tidak harus melakukan join.
Tentu saja, Anda dapat melakukan hal yang sama dalam SQL, dan denormalisasi adalah praktik yang umum ketika seseorang membutuhkan kinerja. Hanya saja banyak solusi NoSQL yang direkayasa sejak awal untuk selalu digunakan dengan cara ini. Anda kemudian mendapatkan tradeoffs biasa: misalnya, menambahkan komentar pada contoh di atas akan lebih lambat karena Anda harus menyimpan seluruh dokumen dengan itu. Dan begitu Anda telah mendenormalisasi, Anda harus menjaga integritas data dalam aplikasi Anda.
Selain itu, dalam banyak solusi NoSQL, tidak mungkin untuk melakukan penggabungan sewenang-wenang, karena itu permintaan sewenang-wenang. Beberapa database, seperti CouchDB, mengharuskan Anda untuk memikirkan terlebih dahulu pertanyaan yang Anda perlukan dan menyiapkannya di dalam DB.
Semua dalam semua, itu bermuara pada mengharapkan skema denormalized dan mengoptimalkan membaca untuk situasi itu, dan ini bekerja dengan baik untuk data yang tidak sangat relasional dan yang membutuhkan lebih banyak membaca daripada menulis.