|
3 weeks ago | |
---|---|---|
.. | ||
README.md | 3 weeks ago | |
assignment.md | 3 weeks ago |
README.md
Bekerja dengan Data: Data Non-Relasional
![]() |
---|
Bekerja dengan Data NoSQL - Sketchnote oleh @nitya |
Kuis Pra-Pelajaran
Data tidak terbatas pada basis data relasional. Pelajaran ini berfokus pada data non-relasional dan akan mencakup dasar-dasar spreadsheet dan NoSQL.
Spreadsheet
Spreadsheet adalah cara yang populer untuk menyimpan dan mengeksplorasi data karena memerlukan sedikit usaha untuk memulai. Dalam pelajaran ini, Anda akan mempelajari komponen dasar dari spreadsheet, serta rumus dan fungsi. Contoh akan diilustrasikan dengan Microsoft Excel, tetapi sebagian besar bagian dan topik akan memiliki nama dan langkah yang serupa dibandingkan dengan perangkat lunak spreadsheet lainnya.
Spreadsheet adalah file yang dapat diakses di sistem file komputer, perangkat, atau sistem file berbasis cloud. Perangkat lunaknya sendiri mungkin berbasis browser atau aplikasi yang harus diinstal di komputer atau diunduh sebagai aplikasi. Di Excel, file ini juga disebut sebagai workbook, dan istilah ini akan digunakan sepanjang pelajaran ini.
Workbook berisi satu atau lebih worksheet, di mana setiap worksheet diberi label dengan tab. Di dalam worksheet terdapat persegi panjang yang disebut cell, yang akan berisi data aktual. Cell adalah perpotongan antara baris dan kolom, di mana kolom diberi label dengan karakter alfabet dan baris diberi label numerik. Beberapa spreadsheet akan berisi header di beberapa baris pertama untuk menjelaskan data dalam cell.
Dengan elemen dasar workbook Excel ini, kita akan menggunakan contoh dari Microsoft Templates yang berfokus pada inventaris untuk menjelajahi beberapa bagian tambahan dari spreadsheet.
Mengelola Inventaris
File spreadsheet bernama "InventoryExample" adalah spreadsheet yang diformat berisi item dalam inventaris yang memiliki tiga worksheet, di mana tab diberi label "Inventory List", "Inventory Pick List", dan "Bin Lookup". Baris 4 dari worksheet Inventory List adalah header, yang menjelaskan nilai dari setiap cell di kolom header.
Ada kasus di mana sebuah cell bergantung pada nilai dari cell lain untuk menghasilkan nilainya. Spreadsheet Inventory List melacak biaya setiap item dalam inventarisnya, tetapi bagaimana jika kita perlu mengetahui nilai keseluruhan inventaris? Formula melakukan tindakan pada data cell dan digunakan untuk menghitung nilai inventaris dalam contoh ini. Spreadsheet ini menggunakan formula di kolom Inventory Value untuk menghitung nilai setiap item dengan mengalikan jumlah di bawah header QTY dan biayanya di bawah header COST. Dengan mengklik dua kali atau menyorot sebuah cell, Anda akan melihat formula. Anda akan melihat bahwa formula dimulai dengan tanda sama dengan, diikuti oleh perhitungan atau operasi.
Kita dapat menggunakan formula lain untuk menambahkan semua nilai dari Inventory Value untuk mendapatkan totalnya. Ini dapat dihitung dengan menambahkan setiap cell untuk menghasilkan jumlah, tetapi itu bisa menjadi tugas yang membosankan. Excel memiliki fungsi, atau formula yang telah ditentukan untuk melakukan perhitungan pada nilai cell. Fungsi memerlukan argumen, yaitu nilai yang diperlukan untuk melakukan perhitungan ini. Ketika fungsi memerlukan lebih dari satu argumen, mereka harus dicantumkan dalam urutan tertentu atau fungsi mungkin tidak menghitung nilai yang benar. Contoh ini menggunakan fungsi SUM, dan menggunakan nilai dari Inventory Value sebagai argumen untuk menghasilkan total yang tercantum di bawah baris 3, kolom B (juga disebut B3).
NoSQL
NoSQL adalah istilah umum untuk berbagai cara menyimpan data non-relasional dan dapat diartikan sebagai "non-SQL", "non-relasional", atau "tidak hanya SQL". Sistem basis data jenis ini dapat dikategorikan menjadi 4 jenis.
Sumber dari Blog Michał Białecki
Basis data Key-value memasangkan kunci unik, yang merupakan pengidentifikasi unik yang terkait dengan nilai. Pasangan ini disimpan menggunakan hash table dengan fungsi hashing yang sesuai.
Sumber dari Microsoft
Basis data Graph menggambarkan hubungan dalam data dan direpresentasikan sebagai kumpulan node dan edge. Node mewakili entitas, sesuatu yang ada di dunia nyata seperti siswa atau laporan bank. Edge mewakili hubungan antara dua entitas. Setiap node dan edge memiliki properti yang memberikan informasi tambahan tentang masing-masing node dan edge.
Basis data Columnar mengorganisasi data ke dalam kolom dan baris seperti struktur data relasional tetapi setiap kolom dibagi menjadi kelompok yang disebut keluarga kolom, di mana semua data di bawah satu kolom terkait dan dapat diambil serta diubah dalam satu unit.
Penyimpanan Data Dokumen dengan Azure Cosmos DB
Basis data Dokumen membangun konsep penyimpanan data key-value dan terdiri dari serangkaian field dan objek. Bagian ini akan mengeksplorasi basis data dokumen dengan emulator Cosmos DB.
Basis data Cosmos DB sesuai dengan definisi "Tidak Hanya SQL", di mana basis data dokumen Cosmos DB bergantung pada SQL untuk melakukan query data. Pelajaran sebelumnya tentang SQL mencakup dasar-dasar bahasa tersebut, dan kita akan dapat menerapkan beberapa query yang sama ke basis data dokumen di sini. Kita akan menggunakan Emulator Cosmos DB, yang memungkinkan kita membuat dan mengeksplorasi basis data dokumen secara lokal di komputer. Baca lebih lanjut tentang Emulator di sini.
Dokumen adalah kumpulan field dan nilai objek, di mana field menjelaskan apa yang diwakili oleh nilai objek. Di bawah ini adalah contoh dokumen.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
Field yang menarik dalam dokumen ini adalah: firstname
, id
, dan age
. Field lainnya dengan garis bawah dihasilkan oleh Cosmos DB.
Mengeksplorasi Data dengan Emulator Cosmos DB
Anda dapat mengunduh dan menginstal emulator untuk Windows di sini. Lihat dokumentasi ini untuk opsi menjalankan Emulator di macOS dan Linux.
Emulator meluncurkan jendela browser, di mana tampilan Explorer memungkinkan Anda mengeksplorasi dokumen.
Jika Anda mengikuti, klik "Start with Sample" untuk menghasilkan basis data contoh bernama SampleDB. Jika Anda memperluas SampleDB dengan mengklik panah, Anda akan menemukan sebuah container bernama Persons
. Container menyimpan kumpulan item, yang merupakan dokumen dalam container. Anda dapat mengeksplorasi empat dokumen individual di bawah Items
.
Melakukan Query Data Dokumen dengan Emulator Cosmos DB
Kita juga dapat melakukan query data contoh dengan mengklik tombol new SQL Query (tombol kedua dari kiri).
SELECT * FROM c
mengembalikan semua dokumen dalam container. Mari tambahkan klausa where dan temukan semua orang yang berusia di bawah 40 tahun.
SELECT * FROM c where c.age < 40
Query mengembalikan dua dokumen, perhatikan nilai age untuk setiap dokumen kurang dari 40.
JSON dan Dokumen
Jika Anda familiar dengan JavaScript Object Notation (JSON), Anda akan melihat bahwa dokumen terlihat mirip dengan JSON. Ada file PersonsData.json
di direktori ini dengan lebih banyak data yang dapat Anda unggah ke container Persons di Emulator melalui tombol Upload Item
.
Dalam banyak kasus, API yang mengembalikan data JSON dapat langsung ditransfer dan disimpan dalam basis data dokumen. Di bawah ini adalah dokumen lain, yang mewakili tweet dari akun Twitter Microsoft yang diambil menggunakan Twitter API, lalu dimasukkan ke Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
Field yang menarik dalam dokumen ini adalah: created_at
, id
, dan text
.
🚀 Tantangan
Ada file TwitterData.json
yang dapat Anda unggah ke basis data SampleDB. Disarankan agar Anda menambahkannya ke container terpisah. Ini dapat dilakukan dengan:
- Mengklik tombol new container di kanan atas
- Memilih basis data yang ada (SampleDB) dan membuat id container untuk container
- Menetapkan partition key ke
/id
- Mengklik OK (Anda dapat mengabaikan informasi lainnya di tampilan ini karena ini adalah dataset kecil yang berjalan secara lokal di komputer Anda)
- Membuka container baru Anda dan mengunggah file Twitter Data dengan tombol
Upload Item
Cobalah menjalankan beberapa query SELECT untuk menemukan dokumen yang memiliki kata Microsoft di field text. Petunjuk: coba gunakan kata kunci LIKE.
Kuis Pasca-Pelajaran
Tinjauan & Studi Mandiri
-
Ada beberapa format dan fitur tambahan yang ditambahkan ke spreadsheet ini yang tidak dibahas dalam pelajaran ini. Microsoft memiliki perpustakaan besar dokumentasi dan video tentang Excel jika Anda tertarik untuk mempelajari lebih lanjut.
-
Dokumentasi arsitektur ini merinci karakteristik dalam berbagai jenis data non-relasional: Data Non-Relasional dan NoSQL
-
Cosmos DB adalah basis data non-relasional berbasis cloud yang juga dapat menyimpan berbagai jenis NoSQL yang disebutkan dalam pelajaran ini. Pelajari lebih lanjut tentang jenis-jenis ini dalam Modul Microsoft Learn Cosmos DB.
Tugas
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.