Ulasan kepingan salju: Gudang data menjadi lebih baik di cloud

Gudang data, juga disebut gudang data perusahaan (EDW), adalah database SQL atau NoSQL yang sangat paralel yang dirancang untuk analisis. Mereka memungkinkan Anda mengimpor data dari berbagai sumber dan menghasilkan laporan rumit dengan cepat dari data berukuran petabyte.

Perbedaan antara data warehouse dan data mart adalah, biasanya, data mart terbatas pada satu topik dan satu departemen. Perbedaan antara data warehouse dan data lake adalah data lake menyimpan data dalam format aslinya, sering kali berupa gumpalan atau file, sedangkan data warehouse menyimpan data sebagai database.

Kepingan salju singkatnya

Snowflake adalah gudang data ANSI SQL relasional sepenuhnya yang dibangun dari awal untuk cloud. Arsitekturnya memisahkan komputasi dari penyimpanan sehingga Anda dapat menaikkan dan menurunkan skala dengan cepat, tanpa penundaan atau gangguan, bahkan saat kueri sedang berjalan. Anda mendapatkan kinerja yang Anda butuhkan tepat saat Anda membutuhkannya, dan Anda hanya membayar untuk komputasi yang Anda gunakan. Snowflake saat ini berjalan di Amazon Web Services dan Microsoft Azure.

     Snowflake adalah database kolom penuh dengan eksekusi vektor, membuatnya mampu menangani beban kerja analitik yang paling menuntut sekalipun. Pengoptimalan adaptif Snowflake memastikan kueri secara otomatis mendapatkan kinerja terbaik, tanpa indeks, kunci distribusi, atau parameter penyetelan untuk dikelola.

     Snowflake dapat mendukung konkurensi tak terbatas dengan arsitektur data bersama multi-kluster yang unik. Hal ini memungkinkan beberapa kluster komputasi untuk beroperasi secara bersamaan pada data yang sama tanpa menurunkan kinerja. Snowflake bahkan dapat menskalakan secara otomatis untuk menangani berbagai permintaan konkurensi dengan fitur gudang virtual multi-kluster, secara transparan menambahkan sumber daya komputasi selama periode pemuatan puncak dan penskalaan saat beban mereda.

Pesaing kepingan salju

Pesaing Snowflake di cloud termasuk Amazon Redshift, Google BigQuery, dan Gudang Data Microsoft Azure SQL. Pesaing utama lainnya, seperti Teradata, Oracle Exadata, MarkLogic, dan SAP BW / 4HANA, dapat diinstal di cloud, di tempat, dan di peralatan.

Amazon Redshift

Amazon Redshift adalah gudang data yang cepat dan dapat diskalakan yang memungkinkan Anda menganalisis semua data Anda di seluruh gudang data dan danau data Amazon S3 Anda. Anda meminta Redshift menggunakan SQL. Gudang data Redshift adalah kluster yang dapat secara otomatis menyebarkan dan menghapus kapasitas dengan beban kueri bersamaan. Namun, semua node cluster disediakan di zona ketersediaan yang sama.

Gudang Data Microsoft Azure SQL

Gudang Data Microsoft Azure SQL adalah gudang data berbasis cloud yang menggunakan mesin Microsoft SQL dan MPP (pemrosesan paralel besar-besaran) untuk menjalankan kueri kompleks dengan cepat di seluruh petabyte data. Anda dapat menggunakan Gudang Data Azure SQL sebagai komponen kunci dari solusi data besar dengan mengimpor data besar ke Gudang Data SQL dengan kueri PolyBase T-SQL sederhana, lalu menggunakan kekuatan MPP untuk menjalankan analitik kinerja tinggi.

Gudang Data Azure SQL tersedia di 40 wilayah Azure di seluruh dunia, tetapi server gudang tertentu hanya ada di satu wilayah. Anda dapat menskalakan kinerja gudang data Anda sesuai permintaan, tetapi kueri yang berjalan akan dibatalkan dan dibatalkan.

Google BigQuery

Google BigQuery adalah gudang data cloud tanpa server, sangat skalabel, dan hemat biaya dengan kueri GIS, Mesin BI dalam memori, dan pembelajaran mesin bawaan. BigQuery menjalankan kueri SQL cepat pada data gigabyte hingga petabyte dan membuatnya mudah untuk digabungkan ke publik atau kumpulan data komersial dengan data Anda.

Anda hanya dapat menyetel lokasi geografis dari kumpulan data BigQuery pada waktu pembuatan. Semua tabel yang direferensikan dalam kueri harus disimpan dalam kumpulan data di lokasi yang sama. Itu juga berlaku untuk kumpulan data eksternal dan keranjang penyimpanan. Ada batasan tambahan pada lokasi data eksternal Google Cloud Bigtable. Secara default, kueri dijalankan di wilayah yang sama dengan data.

Lokasi mungkin tempat tertentu, seperti Virginia Utara, atau wilayah geografis yang luas, seperti UE atau AS. Untuk memindahkan kumpulan data BigQuery dari satu wilayah ke wilayah lain, Anda harus mengekspornya ke keranjang Google Cloud Storage di lokasi yang sama dengan kumpulan data Anda, menyalin keranjang ke lokasi baru, dan memuatnya ke BigQuery di lokasi baru.

Arsitektur kepingan salju

Snowflake menggunakan instance komputasi virtual untuk kebutuhan komputasi dan layanan penyimpanan untuk penyimpanan data yang persisten. Kepingan salju tidak dapat dijalankan di infrastruktur cloud pribadi (lokal atau dihosting).

Tidak ada instalasi yang harus dilakukan, dan tidak ada konfigurasi. Semua perawatan dan penyetelan ditangani oleh Snowflake.

Snowflake menggunakan repositori data pusat untuk data tetap yang dapat diakses dari semua node komputasi di gudang data. Pada saat yang sama, Snowflake memproses kueri menggunakan cluster komputasi MPP (massively parallel processing) di mana setiap node dalam cluster menyimpan sebagian dari seluruh kumpulan data secara lokal.

Saat data dimuat ke Snowflake, Snowflake mengatur ulang data tersebut ke dalam format kolom terkompresi internal. Objek data internal hanya dapat diakses melalui kueri SQL. Anda dapat terhubung ke Snowflake melalui UI webnya, melalui CLI (SnowSQL), melalui driver ODBC dan JDBC dari aplikasi seperti Tableau, melalui konektor asli untuk bahasa pemrograman, dan melalui konektor pihak ketiga untuk alat BI dan ETL.

Kepingan salju

Fitur kepingan salju

Keamanan dan perlindungan data. Fitur keamanan yang ditawarkan di Snowflake bervariasi menurut edisi. Bahkan edisi standar menawarkan enkripsi otomatis semua data dan dukungan untuk otentikasi multi-faktor dan sistem masuk tunggal. Penambahan Enterprise menambahkan penguncian ulang data terenkripsi secara berkala, dan edisi Enterprise untuk Data Sensitif menambahkan dukungan untuk HIPAA dan PCI DSS. Anda dapat memilih di mana data Anda disimpan, yang membantu mematuhi peraturan GDPR UE.

Dukungan SQL standar dan diperpanjang. Snowflake mendukung sebagian besar DDL dan DML yang ditentukan dalam SQL: 1999, ditambah transaksi, beberapa fitur SQL tingkat lanjut, dan bagian dari ekstensi analitik SQL: 2003 (fungsi windowing dan kumpulan pengelompokan). Ini juga mendukung tampilan lateral dan terwujud, fungsi agregat, prosedur tersimpan, dan fungsi yang ditentukan pengguna.

Alat dan antarmuka. Khususnya, Snowflake memungkinkan Anda untuk mengontrol gudang virtual Anda dari GUI atau baris perintah. Itu termasuk membuat, mengubah ukuran (tanpa downtime), menangguhkan, dan menjatuhkan gudang. Mengubah ukuran gudang saat kueri sedang berjalan sangatlah mudah, terutama saat Anda perlu mempercepat kueri yang memakan terlalu banyak waktu. Sepengetahuan saya yang tidak diterapkan di perangkat lunak EDW lainnya.

Konektivitas Snowflake memiliki konektor dan / atau driver untuk Python, Spark, Node.js, Go, .Net, JDBC, ODBC, dan dplyr-snowflakedb, ekstensi paket dplyr open source yang dikelola di GitHub.

Impor dan ekspor data. Kepingan salju dapat memuat berbagai macam data dan format file. Itu termasuk file terkompresi; file data yang dibatasi; Format JSON, Avro, ORC, Parquet, dan XML; Sumber data Amazon S3; dan file lokal. Itu dapat melakukan pemuatan dan pembongkaran massal ke dalam dan ke luar tabel, serta pemuatan massal berkelanjutan dari file.

Berbagi data. Kepingan Salju memiliki dukungan untuk berbagi data dengan aman dengan akun Kepingan Salju lainnya. Ini disederhanakan dengan penggunaan klon tabel tanpa salinan.

Kepingan salju

Tutorial kepingan salju

Snowflake menawarkan beberapa tutorial dan video. Beberapa membantu Anda memulai, beberapa menjelajahi topik tertentu, dan beberapa mendemonstrasikan fitur.

Saya sarankan untuk mengerjakan ikhtisar langsung yang dijelaskan dalam Panduan Lab Praktis untuk Uji Coba Gratis Kepingan Salju.) Saya butuh waktu kurang dari satu jam, dan biayanya kurang dari lima kredit. Itu menyisakan 195 kredit lagi dalam uji coba gratis, yang seharusnya cukup untuk mengimpor beberapa data nyata dan menguji beberapa kueri.

Tutorial memanfaatkan banyak lembar kerja Snowflake, cara yang nyaman untuk menjalankan perintah dan SQL dalam UI web. Ini mencakup, antara lain, pemuatan data; query, cache hasil, dan kloning; data semi terstruktur; dan perjalanan waktu untuk memulihkan objek database.

Secara keseluruhan, saya menemukan Snowflake cukup mengesankan. Saya berharap itu akan menjadi kikuk, tetapi bukan itu masalahnya sama sekali. Faktanya, banyak dari operasi gudang datanya berjalan jauh lebih cepat dari yang saya perkirakan, dan ketika ada yang tampaknya merayap, saya dapat mengintervensi dan memperbesar data warehouse tanpa mengganggu apa yang terjadi.

Sebagian besar penskalaan dapat diotomatiskan. Saat membuat gudang data (lihat tangkapan layar di atas) ada opsi untuk mengizinkan beberapa kluster, opsi untuk menyetel kebijakan penskalaan, opsi untuk penangguhan otomatis, dan opsi untuk melanjutkan otomatis. Periode penangguhan otomatis default adalah 10 menit, yang mencegah gudang mengonsumsi sumber daya saat tidak digunakan lebih lama dari itu. Melanjutkan otomatis hampir seketika dan terjadi setiap kali ada kueri terhadap gudang.

Mengingat bahwa Snowflake menawarkan uji coba gratis 30 hari dengan kredit $ 400, dan tidak perlu memasang apa pun, Anda harus dapat menentukan apakah Snowflake akan sesuai dengan tujuan Anda tanpa pengeluaran uang tunai. Saya akan merekomendasikan untuk mencobanya.

-

Biaya: $ 2 / kredit ditambah penyimpanan $ 23 / TB / bulan, paket standar, penyimpanan prabayar. Satu kredit sama dengan satu node * jam, ditagih per detik. Paket tingkat yang lebih tinggi lebih mahal.

Platform: Layanan Web Amazon, Microsoft Azure