Tarihsel / Evrimsel ve Piyasa Gücü Sebeplerinin Birleşimi
Birkaç yıl önce Microsoft'ta çalışırken, geliştirmede birkaç farklı veri teklifi olduğu açıktı. Tekliflerin her biri belirli bir pazara veya kullanım durumuna yönelikti, örneğin:
Access, formları ve raporları kullanarak uygulamalar oluşturabilen kart indeksleme sistemleriyle rahatça masaüstü kullanıcılarına yönelikti. SQL doğal bir eklemeydi. Bu, 'JET' adlı kendi yerel makine veritabanı motorunu kullandı. Sonunda JET kenara çekildi - üzüm asması üzerindeki kelime, (güvenilir) kaynak kontrolü eksikliğinin, kaynağın büyük bir kısmını kaybettikleri anlamına gelmesiydi.
FoxPro, ilişkisel veriler üzerinde hız isteyen masaüstü kullanıcılarına yönelikti.
SQL Server, işletmelerin ihtiyaç duyduğu tüm ölçek / güç / kullanılabilirlik vb. İle Kurumsal / Sunucu tarafı 'büyük' veritabanı sistemiydi. IIRC, MS, Sybase 6'nın üzerine MSSQL'i kurmak için lisans verdi.
Zamanla, bazı sınırlar bulanıklaşmıştır - örneğin SQL Server artık bir masaüstü makinesinde çalışabilir, ancak kullanım durumu devam etmiştir.
Yani bu bize 3 'arka uç' veriyor - Microsoft tarafından üretilen veritabanı ürünleri.
Karışıma eklemek için, bu sistemlere erişmek için farklı düzeylerde geliştirici API'si sağlandı:
Başlangıçta, API'lerin yolunda çok fazla şey yoktu - kodunuzu uygulamanın içine yazdınız (FoxPro / Access). VBA bir yöntemdi.
Microsoft, Windows'un Oracle, Sybase, vb. Gibi büyük veritabanlarıyla konuşabilmesi için rakip sistemlere bağlanmak için MS ODBC'yi uyguladı. Excel, ODBC araçlarını almak için büyük uygulamalardan biriydi - büyük DB'nizden veri alma, işleme ve ürün çizelgeleri / veritabanı vb. Birçok veritabanı satıcısı, farklı istemcilerin bağlanmasına izin vermek için ODBC uyguladı ve bu strateji başarılı oldu. ODBC bir dereceye kadar en düşük ortak paydayı temsil edebilir.
Farklı ekipler, o sırada en popüler MS geliştirici ürünü olan VB aracılığıyla erişilebilen yerel için DAO (Veri Erişim Nesneleri) ve uzaktan kumanda için RDO (Uzak Veri Nesneleri) gibi bir veritabanı motoruna erişmek için kendi yollarını üretmeye başladılar.
Bu çeşitli API'leri rasyonelleştirmek ve tek / birleştirilmiş oldukça esnek bir veritabanı erişim API'si sağlamak için dahili bir çaba bize OLEDB verdi, ancak (C ++ şablonlarının bir sürü) içeri girmek çok zordu.
OLEDB VB'den kullanılamadı, bu nedenle ADO ActiveX teknikleri kullanılarak geliştirildi, bu nedenle COM / OLE / ActiveX yapabilen herhangi bir şey tarafından yeniden kullanılabilir hale geldi, yani Access, Excel, VB ve böylece ASP veritabanı etkin hale geldi.
.NET çağına geçtiğimizde, ADO doğal olarak çeşitli yararlar sağlayan bir .NET ortamına taşındı.
LINQ'nun ortaya çıkmasıyla, gerçek veritabanı erişim mekanizması daha az sorun haline geldi.
Caveat - Bir süre önce ayrıldım, bu yüzden hafızam biraz bulanık