14 KiB
Veriyle Çalışmak: İlişkisel Olmayan Veri
![]() |
---|
NoSQL Veriyle Çalışmak - Sketchnote by @nitya |
Ders Öncesi Test
Veri, yalnızca ilişkisel veritabanlarıyla sınırlı değildir. Bu ders, ilişkisel olmayan veriye odaklanacak ve elektronik tablolar ile NoSQL'in temel bilgilerini kapsayacaktır.
Elektronik Tablolar
Elektronik tablolar, veri depolamak ve keşfetmek için popüler bir yöntemdir çünkü kurulum ve başlama süreci daha az çaba gerektirir. Bu derste bir elektronik tablonun temel bileşenlerini, formülleri ve işlevleri öğreneceksiniz. Örnekler Microsoft Excel ile gösterilecek, ancak diğer elektronik tablo yazılımlarıyla karşılaştırıldığında çoğu bölüm ve konu benzer isimlere ve adımlara sahip olacaktır.
Bir elektronik tablo bir dosyadır ve bir bilgisayar, cihaz veya bulut tabanlı dosya sisteminde erişilebilir olacaktır. Yazılımın kendisi tarayıcı tabanlı olabilir veya bir bilgisayara yüklenmesi gereken bir uygulama ya da bir uygulama olarak indirilebilir. Excel'de bu dosyalar çalışma kitapları olarak tanımlanır ve bu terim dersin geri kalanında kullanılacaktır.
Bir çalışma kitabı, bir veya daha fazla çalışma sayfası içerir ve her çalışma sayfası sekmelerle etiketlenir. Bir çalışma sayfasında, gerçek veriyi içeren hücreler adı verilen dikdörtgenler bulunur. Bir hücre, bir satır ve sütunun kesişimidir; sütunlar alfabetik karakterlerle, satırlar ise sayısal olarak etiketlenir. Bazı elektronik tablolar, bir hücredeki veriyi açıklamak için ilk birkaç satırda başlıklar içerebilir.
Excel çalışma kitabının bu temel unsurlarıyla, Microsoft Templates sitesinden bir envantere odaklanan bir örnek kullanarak bir elektronik tablonun bazı ek bölümlerini inceleyeceğiz.
Envanter Yönetimi
"InventoryExample" adlı elektronik tablo dosyası, envanterdeki öğelerin biçimlendirilmiş bir elektronik tablosudur ve "Inventory List", "Inventory Pick List" ve "Bin Lookup" olarak etiketlenmiş üç çalışma sayfası içerir. Inventory List çalışma sayfasının 4. satırı, başlık sütunundaki her hücrenin değerini açıklayan başlıktır.
Bazı durumlarda, bir hücre diğer hücrelerin değerlerine bağlı olarak kendi değerini oluşturur. Inventory List elektronik tablosu, envanterindeki her öğenin maliyetini takip eder, ancak envanterdeki her şeyin toplam değerini bilmemiz gerekirse ne yaparız? Formüller, hücre verileri üzerinde işlem yapar ve bu örnekte envanterin maliyetini hesaplamak için kullanılır. Bu elektronik tablo, Inventory Value sütununda bir formül kullanarak her öğenin değerini, QTY başlığı altındaki miktarı ve COST başlığı altındaki maliyetleri çarparak hesaplar. Bir hücreyi çift tıklayarak veya vurgulayarak formülü görebilirsiniz. Formüllerin bir eşittir işaretiyle başladığını ve ardından hesaplama veya işlemin geldiğini fark edeceksiniz.
Envanter Değeri sütunundaki tüm değerleri toplamak için başka bir formül kullanabiliriz. Bu, her hücreyi ekleyerek toplamı oluşturmakla hesaplanabilir, ancak bu zahmetli bir iş olabilir. Excel, hücre değerleri üzerinde hesaplama yapmak için önceden tanımlanmış formüller olan işlevler içerir. İşlevler, bu hesaplamaları yapmak için gereken değerler olan argümanlara ihtiyaç duyar. İşlevler birden fazla argüman gerektiriyorsa, bunların belirli bir sırayla listelenmesi gerekir, aksi takdirde işlev doğru değeri hesaplamayabilir. Bu örnek, SUM işlevini kullanır ve B3 satırında listelenen toplamı oluşturmak için Inventory Value değerlerini argüman olarak kullanır.
NoSQL
NoSQL, ilişkisel olmayan veriyi depolamanın farklı yollarını kapsayan bir şemsiye terimdir ve "non-SQL", "non-relational" veya "not only SQL" olarak yorumlanabilir. Bu tür veritabanı sistemleri 4 türe ayrılabilir.
Kaynak: Michał Białecki Blog
Anahtar-değer veritabanları, bir değerle ilişkilendirilmiş benzersiz bir tanımlayıcı olan benzersiz anahtarları eşleştirir. Bu çiftler, uygun bir karma işleviyle bir hash tablosu kullanılarak depolanır.
Kaynak: Microsoft
Grafik veritabanları, verilerdeki ilişkileri tanımlar ve düğümler ve kenarların bir koleksiyonu olarak temsil edilir. Bir düğüm, gerçek dünyada var olan bir varlığı, örneğin bir öğrenci veya banka ekstresini temsil eder. Kenarlar, iki varlık arasındaki ilişkiyi temsil eder. Her düğüm ve kenar, her bir düğüm ve kenar hakkında ek bilgi sağlayan özelliklere sahiptir.
Sütunlu veri depoları, verileri sütunlar ve satırlar halinde düzenler, ancak her sütun, bir sütun ailesi olarak adlandırılan gruplara ayrılır. Bir sütun altındaki tüm veriler ilişkilidir ve bir birim olarak alınabilir ve değiştirilebilir.
Azure Cosmos DB ile Belge Veri Depoları
Belge veri depoları, bir anahtar-değer veri deposu kavramını temel alır ve bir dizi alan ve nesne değerinden oluşur. Bu bölüm, Cosmos DB emülatörü ile belge veritabanlarını keşfedecektir.
Bir Cosmos DB veritabanı, "Not Only SQL" tanımına uyar; Cosmos DB'nin belge veritabanı, veriyi sorgulamak için SQL'e dayanır. SQL dilinin temel bilgilerini kapsayan önceki ders burada bir belge veritabanına bazı aynı sorguları uygulamamıza olanak tanır. Cosmos DB Emülatörü'nü kullanacağız, bu emülatör bir bilgisayarda yerel olarak bir belge veritabanı oluşturup keşfetmemize olanak tanır. Emülatör hakkında daha fazla bilgi için burayı okuyun.
Bir belge, alanlar ve nesne değerlerinden oluşan bir koleksiyondur; alanlar, nesne değerinin neyi temsil ettiğini açıklar. Aşağıda bir belge örneği bulunmaktadır.
{
"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
}
Bu belgedeki ilgi alanları: firstname
, id
ve age
. Cosmos DB tarafından oluşturulan alt çizgili alanlar geri kalanıdır.
Cosmos DB Emülatörü ile Veriyi Keşfetmek
Emülatörü Windows için buradan indirip yükleyebilirsiniz. macOS ve Linux için emülatörü çalıştırma seçenekleri hakkında bilgi almak için bu belgeleri inceleyin.
Emülatör bir tarayıcı penceresi açar, burada Explorer görünümü belgeleri keşfetmenize olanak tanır.
Eğer takip ediyorsanız, "Start with Sample" seçeneğine tıklayarak SampleDB adlı örnek bir veritabanı oluşturabilirsiniz. SampleDB'yi genişletmek için oka tıklarsanız Persons
adlı bir konteyner bulacaksınız; bir konteyner, içindeki belgeler olan öğelerin bir koleksiyonunu tutar. Items
altında dört bireysel belgeyi keşfedebilirsiniz.
Cosmos DB Emülatörü ile Belge Verisini Sorgulamak
Yeni SQL Query düğmesine (soldan ikinci düğme) tıklayarak örnek veriyi sorgulayabiliriz.
SELECT * FROM c
konteynerdeki tüm belgeleri döndürür. Bir where clause ekleyelim ve 40 yaşından küçük olanları bulalım.
SELECT * FROM c where c.age < 40
Sorgu iki belge döndürür, her belgenin yaş değerinin 40'tan küçük olduğunu fark edin.
JSON ve Belgeler
Eğer JavaScript Object Notation (JSON) ile aşina iseniz, belgelerin JSON'a benzediğini fark edeceksiniz. Bu dizinde daha fazla veri içeren bir PersonsData.json
dosyası bulunmaktadır; bu dosyayı Emülatördeki Persons konteynerine Upload Item
düğmesiyle yükleyebilirsiniz.
Çoğu durumda, JSON veri döndüren API'ler doğrudan belge veritabanlarına aktarılıp depolanabilir. Aşağıda başka bir belge bulunmaktadır; bu belge, Twitter API kullanılarak Microsoft Twitter hesabından alınan tweetleri temsil eder ve ardından Cosmos DB'ye eklenmiştir.
{
"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
Bu belgedeki ilgi alanları: created_at
, id
ve text
.
🚀 Zorluk
Bir TwitterData.json
dosyası bulunmaktadır; bu dosyayı SampleDB veritabanına yükleyebilirsiniz. Bunun ayrı bir konteynere eklenmesi önerilir. Bu şu şekilde yapılabilir:
- Sağ üstteki yeni konteyner düğmesine tıklayın
- Mevcut veritabanını (SampleDB) seçin, konteyner için bir id oluşturun
- Bölüm anahtarını
/id
olarak ayarlayın - Tamam'a tıklayın (bu görünümdeki diğer bilgileri görmezden gelebilirsiniz çünkü bu, makinenizde yerel olarak çalışan küçük bir veri kümesidir)
- Yeni konteynerinizi açın ve Twitter Data dosyasını
Upload Item
düğmesiyle yükleyin
text
alanında Microsoft bulunan belgeleri bulmak için birkaç select sorgusu çalıştırmayı deneyin. İpucu: LIKE anahtar kelimesini kullanmayı deneyin.
Ders Sonrası Test
Gözden Geçirme ve Kendi Kendine Çalışma
-
Bu derste ele alınmayan elektronik tabloya eklenen bazı ek biçimlendirme ve özellikler bulunmaktadır. Excel hakkında daha fazla bilgi edinmek istiyorsanız, Microsoft'un geniş bir belge ve video kütüphanesi bulunmaktadır.
-
İlişkisel olmayan verinin farklı türlerindeki özellikleri detaylandıran bu mimari belgeleri inceleyin: İlişkisel Olmayan Veri ve NoSQL
-
Cosmos DB, bu derste bahsedilen farklı NoSQL türlerini de depolayabilen bulut tabanlı bir ilişkisel olmayan veritabanıdır. Bu türler hakkında daha fazla bilgi edinmek için Cosmos DB Microsoft Learn Modülü inceleyin.
Ödev
Feragatname:
Bu belge, Co-op Translator adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlama veya yanlış yorumlamalardan sorumlu değiliz.