10 amalan data besar terburuk

Ya, anda boleh menggunakan data besar. Walau bagaimanapun, anda boleh mengatasinya dengan cara yang betul atau yang salah. Berikut adalah 10 amalan terburuk yang harus dielakkan.

1. Memilih MongoDB sebagai platform data besar anda. Mengapa saya memilih MongoDB? Saya tidak, tetapi atas sebab apa pun, pangkalan data NoSQL yang paling banyak disalahgunakan ketika ini adalah MongoDB. Walaupun MongoDB mempunyai kerangka agregasi yang rasanya seperti MapReduce dan bahkan penyambung Hadoop (sangat tidak didokumentasikan), titik manisnya adalah sebagai pangkalan data operasi, bukan sistem analitik.

[Andrew C. Oliver menjawab soalan di fikiran semua orang: Pangkalan data yang manakah yang harus saya gunakan? | Juga di: Masa untuk standard NoSQL sekarang | Dapatkan intipati kisah utama setiap hari di buletin Harian. ]

Apabila ayat anda bermula, "Kami akan menggunakan Mongo untuk menganalisis ...," berhenti di sana dan memikirkan apa yang anda lakukan. Kadang-kadang anda benar-benar bermaksud "kumpulkan untuk analisis kemudian", yang mungkin baik, bergantung pada apa yang anda lakukan. Walau bagaimanapun, jika anda benar-benar bermaksud anda akan menggunakan MongoDB sebagai semacam teknologi pergudangan data yang sakit, projek anda mungkin akan hancur pada mulanya.

2. Menggunakan skema RDBMS sebagai fail. Ya, anda membuang setiap jadual dari RDBMS anda ke dalam fail. Anda merancang untuk menyimpannya di HDFS. Anda merancang untuk menggunakan Hive di atasnya.

Pertama, anda tahu Hive lebih lambat daripada RDBMS anda untuk sesuatu yang normal, bukan? Ia akan MapReduce walaupun pilih yang sederhana. Lihat laluan "dioptimumkan" untuk gabungan "jadual". Seterusnya, mari kita lihat ukuran baris - whaddaya tahu, anda mempunyai fail rata yang diukur dalam kilobit satu digit. Hadoop melakukan yang terbaik pada set data yang agak rata. Saya pasti anda boleh membuat ekstrak yang lebih dinormalisasi.

3. Membuat kolam data. Dalam perjalanan anda untuk membuat tasik data, anda mematikan jalan layang yang berbeza dan membuat rangkaian kumpulan data. Undang-undang Conway telah berlaku lagi dan anda telah membiarkan setiap kumpulan perniagaan bukan sahaja membuat analisis data mereka sendiri tetapi repositori mini mereka sendiri. Itu tidak kedengaran buruk pada mulanya, tetapi dengan ekstrak dan cara memotong dan memotong data yang berbeza, anda akan mendapat pandangan data yang berbeza. Saya tidak bermaksud rata berbanding kubus - saya bermaksud jawapan yang berbeza untuk beberapa soalan yang sama. Skema-di-baca tidak bermaksud "jangan merancang sama sekali," tetapi itu bermaksud "jangan merancang untuk setiap pertanyaan yang mungkin anda ajukan."

Walaupun begitu, anda harus merancang gambaran besar. Sekiranya anda menjual widget, ada kemungkinan besar seseorang ingin melihat berapa banyak, kepada siapa, dan seberapa sering anda menjual widget. Teruskan dan dapatkannya dalam format umum dan buat sedikit reka bentuk awal untuk memastikan anda tidak berakhir dengan kumpulan data dan genangan yang dimiliki oleh setiap kumpulan perniagaan individu.

4. Gagal mengembangkan kes penggunaan yang masuk akal. Idea tasik data dijual oleh vendor untuk menggantikan kes penggunaan sebenar. (Ini juga merupakan cara untuk melarikan diri dari kekangan pembiayaan jabatan.) Pendekatan tasik data boleh berlaku, tetapi anda harus mempertimbangkan kes penggunaan sebenarnya. Tidak sukar untuk memunculkannya di kebanyakan syarikat kecil untuk perusahaan besar. Mulailah dengan meninjau ketika seseorang terakhir mengatakan, "Tidak, kami tidak bisa, kerana pangkalan data tidak dapat mengatasinya." Kemudian beralih ke "duh." Sebagai contoh, "pengembangan perniagaan" tidak seharusnya hanya promosi yang tepat untuk jurujual utama anda; itu semestinya bermaksud sesuatu.

Bagaimana dengan, katakanlah, menggunakan Mahout untuk mencari pesanan pelanggan yang merupakan pelanggan biasa? Di kebanyakan syarikat, kebanyakan pesanan pelanggan menyerupai satu sama lain. Tetapi bagaimana dengan pesanan yang berlaku cukup kerap tetapi tidak sesuai dengan pesanan biasa? Ini mungkin terlalu kecil untuk diperhatikan oleh jurujual, tetapi mereka mungkin menunjukkan garis perniagaan masa depan untuk syarikat anda (iaitu, pengembangan perniagaan sebenar). Sekiranya anda tidak dapat mengumpulkan sekurang-kurangnya beberapa kegunaan dunia nyata yang baik untuk Hadoop, mungkin anda tidak memerlukannya.

5. Thinking Hive adalah segala-galanya, akhir-semua. Anda tahu SQL. Anda suka SQL. Anda telah melakukan SQL. Saya faham, kawan, tapi mungkin anda juga boleh tumbuh? Mungkin anda harus mencapai satu dekad atau tiga dekad dan ingat anak kecil yang belajar SQL dan melihat dunia yang terbuka untuknya. Sekarang bayangkan dia belajar perkara lain pada masa yang sama.