Kajian kepingan salji: Gudang data dibuat lebih baik di awan

Gudang data, juga disebut gudang data perusahaan (EDW), adalah pangkalan data SQL atau NoSQL yang sangat selari yang direka untuk analisis. Mereka membolehkan anda mengimport data dari pelbagai sumber dan menghasilkan laporan rumit dengan cepat dari data petabyte.

Perbezaan antara gudang data dan data mart adalah bahawa, biasanya, data mart terbatas pada satu topik dan satu jabatan. Perbezaan antara gudang data dan tasik data adalah bahawa tasik data menyimpan data dalam format semula jadi, sering gumpalan atau file, sementara gudang data menyimpan data sebagai pangkalan data.

Kepingan salji secara ringkas

Snowflake adalah gudang data ANSI SQL yang berkaitan sepenuhnya yang dibina dari bawah untuk awan. Senibina memisahkan komputasi dari penyimpanan sehingga anda dapat meningkatkan naik turun dengan cepat, tanpa berlengah atau terganggu, walaupun pertanyaan sedang berjalan. Anda mendapat prestasi yang anda perlukan tepat ketika anda memerlukannya, dan anda hanya membayar untuk komputasi yang anda gunakan. Snowflake kini berjalan di Amazon Web Services dan Microsoft Azure.

     Snowflake adalah pangkalan data kolumnar penuh dengan pelaksanaan vektor, menjadikannya mampu menangani beban kerja analitik yang paling menuntut. Pengoptimuman adaptif Snowflake memastikan pertanyaan memperoleh prestasi terbaik secara automatik, tanpa indeks, kunci pengedaran, atau parameter penalaan untuk dikendalikan.

     Snowflake dapat menyokong serentak tanpa had dengan arsitektur data yang dikongsi dengan pelbagai kluster yang unik. Ini membolehkan banyak kelompok pengkomputeran beroperasi serentak pada data yang sama tanpa menurunkan prestasi. Kepingan salji bahkan dapat ditingkatkan secara automatik untuk menangani berbagai permintaan serentak dengan ciri gudang maya multi-klusternya, menambahkan sumber komputasi secara telus semasa tempoh beban puncak dan mengurangkan ketika beban turun.

Pesaing kepingan salji

Pesaing untuk Snowflake di awan termasuk Amazon Redshift, Google BigQuery, dan Microsoft Azure SQL Data Warehouse. Pesaing utama lain, seperti Teradata, Oracle Exadata, MarkLogic, dan SAP BW / 4HANA, mungkin dipasang di awan, di premis, dan di perkakas.

Pergeseran Merah Amazon

Amazon Redshift adalah gudang data cepat dan terukur yang membolehkan anda menganalisis semua data anda di gudang data dan tasik data Amazon S3 anda. Anda membuat pertanyaan Redshift menggunakan SQL. Gudang data Redshift adalah kluster yang dapat menggunakan dan menghapus kapasiti secara automatik dengan muatan pertanyaan serentak. Walau bagaimanapun, semua node kluster disediakan di zon ketersediaan yang sama.

Gudang Data Microsoft Azure SQL

Microsoft Azure SQL Data Warehouse adalah gudang data berasaskan awan yang menggunakan enjin Microsoft SQL dan MPP (pemprosesan selari secara besar-besaran) untuk menjalankan pertanyaan kompleks dengan cepat di seluruh petabyte data. Anda boleh menggunakan Azure SQL Data Warehouse sebagai komponen utama penyelesaian data besar dengan mengimpor data besar ke SQL Data Warehouse dengan pertanyaan PolyBase T-SQL yang sederhana, kemudian menggunakan kekuatan MPP untuk menjalankan analisis berprestasi tinggi.

Azure SQL Data Warehouse tersedia di 40 wilayah Azure di seluruh dunia, tetapi pelayan gudang tertentu hanya ada di satu wilayah. Anda dapat meningkatkan prestasi gudang data mengikut permintaan, tetapi sebarang pertanyaan yang dijalankan akan dibatalkan dan dilancarkan semula.

Google BigQuery

Google BigQuery adalah gudang data awan tanpa pelayan, sangat diskalakan, dan menjimatkan kos dengan pertanyaan GIS, mesin enjin BI dan memori mesin yang terpasang di dalamnya. BigQuery menjalankan pertanyaan SQL pantas pada gigabyte hingga petabyte data dan menjadikannya senang untuk bergabung dengan orang ramai atau set data komersial dengan data anda.

Anda boleh menetapkan lokasi geografi kumpulan data BigQuery pada waktu penciptaan sahaja. Semua jadual yang dirujuk dalam pertanyaan mesti disimpan dalam set data di lokasi yang sama. Itu juga berlaku untuk set data luaran dan keranjang simpanan. Terdapat sekatan tambahan pada lokasi data Google Cloud Bigtable luaran. Secara lalai, pertanyaan dijalankan di wilayah yang sama dengan data.

Lokasi mungkin merupakan tempat tertentu, seperti Virginia Utara, atau kawasan geografi yang besar, seperti EU atau AS. Untuk memindahkan kumpulan data BigQuery dari satu wilayah ke wilayah lain, anda harus mengeksportnya ke keranjang Penyimpanan Awan Google di lokasi yang sama dengan set data anda, menyalin baldi ke lokasi baru, dan memuatkannya ke BigQuery di lokasi baru.

Senibina kepingan salji

Snowflake menggunakan contoh komputasi maya untuk keperluan pengkomputerannya dan perkhidmatan penyimpanan untuk penyimpanan data yang berterusan. Snowflake tidak dapat dijalankan pada infrastruktur awan peribadi (di tempat atau dihoskan).

Tidak ada pemasangan untuk dilakukan, dan tidak ada konfigurasi. Semua penyelenggaraan dan penalaan dikendalikan oleh Snowflake.

Snowflake menggunakan repositori data pusat untuk data berterusan yang dapat diakses dari semua nod pengkomputeran di gudang data. Pada masa yang sama, Snowflake memproses pertanyaan menggunakan MPP (pemprosesan selari secara besar-besaran) mengira kelompok di mana setiap nod dalam kluster menyimpan sebahagian daripada keseluruhan kumpulan data secara tempatan.

Apabila data dimuat ke Snowflake, Snowflake menyusun semula data tersebut ke dalam format kolumnar termampat dalamannya. Objek data dalaman hanya dapat diakses melalui pertanyaan SQL. Anda boleh menyambung ke Snowflake melalui UI webnya, melalui CLI (SnowSQL), melalui pemacu ODBC dan JDBC dari aplikasi seperti Tableau, melalui penyambung asli untuk bahasa pengaturcaraan, dan melalui penyambung pihak ketiga untuk alat BI dan ETL.

Kepingan salji

Ciri-ciri kepingan salji

Keselamatan dan perlindungan data. Ciri keselamatan yang ditawarkan di Snowflake berbeza mengikut edisi. Malah edisi standard menawarkan penyulitan automatik semua data dan sokongan untuk pengesahan pelbagai faktor dan proses masuk tunggal. Penambahan Enterprise menambahkan pengisian semula data yang dienkripsi secara berkala, dan edisi Enterprise for Sensitive Data menambah sokongan untuk HIPAA dan PCI DSS. Anda boleh memilih tempat data anda disimpan, yang membantu mematuhi peraturan EU GDPR.

Sokongan standard dan lanjutan SQL. Snowflake menyokong kebanyakan DDL dan DML yang ditentukan dalam SQL: 1999, ditambah urus niaga, beberapa ciri SQL canggih, dan bahagian-bahagian sambungan SQL: 2003 analitik (fungsi Window dan kumpulan kumpulan). Ini juga menyokong pandangan lateral dan terwujud, fungsi agregat, prosedur tersimpan, dan fungsi yang ditentukan pengguna.

Alat dan antara muka. Terutama, Snowflake membolehkan anda mengawal gudang maya anda dari GUI atau barisan arahan. Itu termasuk membuat, mengubah ukuran (dengan waktu henti sifar), menangguhkan, dan melepaskan gudang. Mengubah saiz gudang semasa pertanyaan sedang berjalan sangat mudah, terutamanya apabila anda perlu mempercepat pertanyaan yang memerlukan terlalu banyak masa. Sepengetahuan saya yang tidak dilaksanakan dalam perisian EDW lain.

Kesambungan Snowflake mempunyai penyambung dan / atau pemacu untuk Python, Spark, Node.js, Go, .Net, JDBC, ODBC, dan dplyr-snowflakedb, sambungan pakej dplyr sumber terbuka yang dikekalkan di GitHub.

Import dan eksport data. Snowflake dapat memuatkan berbagai jenis data dan format fail. Itu termasuk fail yang dimampatkan; fail data yang dipisahkan; Format JSON, Avro, ORC, Parket, dan XML; Sumber data Amazon S3; dan fail tempatan. Ia dapat melakukan pemuatan dan pemuatan pukal ke dalam dan di luar meja, serta pemuatan pukal berterusan dari fail.

Perkongsian data. Snowflake mempunyai sokongan untuk berkongsi data dengan selamat dengan akaun Snowflake yang lain. Ini diselaraskan dengan penggunaan klon jadual salin sifar.

Kepingan salji

Tutorial kepingan salji

Snowflake menawarkan banyak tutorial dan video. Sebilangan membantu anda memulakan, ada yang meneroka topik tertentu, dan ada yang menunjukkan ciri.

Saya cadangkan bekerja melalui gambaran keseluruhan langsung yang dijelaskan dalam Panduan Makmal Tangan untuk Percubaan Percuma Snowflake.) Saya mengambil masa kurang dari satu jam, dan harganya kurang dari lima kredit. Itu meninggalkan 195 kredit lagi dalam percubaan percuma, yang seharusnya cukup untuk mengimport beberapa data sebenar dan menguji beberapa pertanyaan.

Tutorial menggunakan lembaran kerja Snowflake yang sangat berat, cara mudah menjalankan perintah dan SQL dalam UI web. Ia merangkumi, antara lain, pemuatan data; pertanyaan, hasil cache, dan pengklonan; data separa berstruktur; dan perjalanan masa untuk memulihkan objek pangkalan data.

Secara keseluruhan, saya dapati Snowflake cukup mengagumkan. Saya menjangkakan ia tidak stabil, tetapi itu sama sekali tidak berlaku. Sebenarnya, banyak operasi gudang datanya berjalan lebih pantas daripada yang saya jangkakan, dan apabila ada yang nampaknya merangkak, saya dapat campur tangan dan menaikkan gudang data tanpa mengganggu apa yang berlaku.

Sebilangan besar penskalaan dapat dilakukan secara automatik. Ketika membuat gudang data (lihat tangkapan layar di atas) ada pilihan untuk mengizinkan banyak kelompok, pilihan untuk menetapkan kebijakan penskalaan, pilihan untuk menangguhkan secara otomatis, dan pilihan untuk menyambung semula secara automatik. Tempoh penangguhan automatik lalai adalah 10 minit, yang menjadikan gudang tidak menghabiskan sumber daya ketika tidak berfungsi lebih lama daripada itu. Menyambung semula secara automatik hampir seketika dan berlaku setiap kali ada pertanyaan mengenai gudang.

Memandangkan Snowflake menawarkan percubaan percuma selama 30 hari dengan kredit $ 400, dan tidak perlu memasang apa-apa, anda harus dapat menentukan sama ada Snowflake akan sesuai dengan tujuan anda tanpa perbelanjaan tunai. Saya akan mengesyorkan agar berputar.

-

Kos: $ 2 / kredit ditambah $ 23 / TB / simpanan bulan, pelan standard, simpanan prabayar. Satu kredit sama dengan satu node * jam, ditagih dengan yang kedua. Pelan peringkat lebih tinggi lebih mahal.

Platform: Perkhidmatan Web Amazon, Microsoft Azure