Techopedia Staff tarafından, 16 Kasım 2016
Paket Servisi: Sunucu Eric Kavanagh, Robin Bloor, Dez Blanchfield ve IDERA'dan Ron Huizenga ile çevik gelişimde veri modellemenin önemini tartışıyor.
Şu anda giriş yapmadınız. Lütfen videoyu görmek için giriş yapın veya üye olun.
Eric Kavanagh: Tamam bayanlar ve baylar. Tekrar hoş geldiniz. Çarşamba saat 4:00 EST. Bu demek oluyor ki Sıcak Teknolojiler zamanı. Evet kesinlikle. Benim adım Eric Kavanagh, ev sahibiniz olacağım.
Bugünün konusu için bu bir ihtiyar ama bir goodie. Her geçen gün daha iyiye gidiyor çünkü veri yönetimi dünyamızı “Çevik Bir Ortamda Veri Modelleme” yi şekillendiriyor. Sizinki hakkında bir slayt var, beni Twitter'da @eric_kavanagh. Gerçekten o slayda koymalıyız. Bunu yapmam gerekecek.
Yani yıl sıcak. Veri modelleme sonsuza dek sürdü. Bilgi yönetimi işinin merkezinde ve ruhundaydı, veri modelleri tasarlıyor, iş modellerini anlamaya ve veri modellerinize uydurmaya çalışıyor. Gerçekten yapmaya çalıştığın şey bu, değil mi?
Veri modeli işi temel bir şekilde temsil eder, peki tüm bu yeni veri kaynakları oyunu nasıl değiştiriyor? Bunu bulacağız. Çevik bir şekilde şeylerin üstünde nasıl kalabileceğinizi bulacağız. Ve elbette, bu yılın kelimesi.
Robin Bloor bizimle birlikte, baş analistimiz Dez Blanchfield, Sydney, Avustralya'dan ve IDERA'nın Kıdemli Ürün Müdürü Ron Huizenga'dan geliyor - uzun zamandır arkadaşım, bu alanda mükemmel konuşmacı, eşyalarını biliyor, utangaç olma, sor zor sorular, millet, zor sorular. Bununla Robin'i sunucu yapacağım ve alıp götüreceğim.
Dr. Robin Bloor: Tamam. Bunun için teşekkürler Eric. Modelleme hakkında şunu söylemeliyim ki, çalıştığım sigorta şirketinde hatırladığım, içeri girip bize bir çeşit vermiş olduğumuz için aslında var olmadan önce BT dünyasındaydım. veri modelleme atölye çalışması. Yani 30 yıla bakıyoruz, 30 yıl mı? Belki bundan daha uzun, belki 35 yıl önce. Uzun, uzun süreli bir modelleme aslında endüstrinin bir parçası olmuştur ve elbette podyumlardaki bayanlar ile hiçbir ilgisi yoktur.
Söylemek istediğim şey, çünkü normalde yaptığımız şey, ben ve Dez farklı şeyler hakkında konuşuyoruz ve sadece modellemeye genel bir bakış sunacağımı düşündüm, ancak bunun bir gerçeği var, bu şimdi belirginleşiyor.
Büyük veri gerçekliğine sahibiz, daha fazla veriye, daha fazla veri kaynağına sahibiz, son üç veya dört yılda denkleme giren veri akışlarımız var ve bunun daha büyük bir kısmını almaya başlıyor ve verileri anlamaya daha fazla ihtiyaç vardır ve daha fazla veri eklenmekte olan ve daha fazla veri yapısı kullanılan değişim oranında bir artış söz konusudur.
Zor bir dünya. İşte bunun bir resmi, bu aslında yaklaşık üç yıl önce çizdiğimiz bir şey ama temelde, karışıma akış ekledikten ve bu veri rafinerisi, veri merkezi, veri bağlantısı veya her neyse, gerçekten hareketsiz, yani çok fazla hareket etmiyor. Ve sonra veriler, akışlar var ve tüm işlem uygulamalarına sahipsiniz, ayrıca bugünlerde uygulamalarda meydana gelebilecek ve ihtiyaç duyabilecek olaylar, olay veri akışları var ve günümüzde herkesin bahsettiği lambda mimarileri ile gerçekten sadece tüm veri alanı üzerinde etkisi vardır.
Ve günümüzde bir veri katmanı olduğunu düşünüyoruz. Veri katmanı bir çeşit sanal yolla var, yani iyi bir parçası bulutta olabilir ve veri merkezlerine yayılabilir, iş istasyonlarında var olabilir. Veri katmanı, bir dereceye kadar, her yerde ve bu anlamda, her yerde verileri işlemeye ve verileri hareket ettirmeye çalışan bir şekilde süreçler vardır. Ama aynı zamanda onu hareket ettirirken ne olduğunu bilmek de çok önemli.
Veri modellemesine en genel anlamda bakarsak, bu tür yığının altında dosyalarınız ve veritabanlarınız vardır. Anahtarları, öğe tanımları, takma adları, eşanlamlıları, belirli fiziksel biçimleri olan veri öğeleriniz var ve sonra bu meta veri katmanına sahibiz.
Meta verilerle ilgili ilginç olan şey, meta verilerin tamamen verinin anlamını anlama şeklidir. Aslında meta verileriniz yoksa, en iyi ihtimalle verilerin anlamını tahmin edebilirsiniz, ancak çok fazla zorluk yaşayacaksınız. Meta verilerin orada olması gerekir, ancak anlamın yapısı vardır. Anlam felsefesine girmek istemiyorum, ama verilerle uğraşma şeklimizde bile, insan düşüncesinde ve insan dilinde, kendini verilerde kolayca ifade etmeyen çok fazla karmaşıklık var. Ancak dünyada gerçekte işlediğimiz veriler açısından bile, meta verilerin anlamı ve meta verilerin yapısı vardır - diğerine göre bir veri parçası ve bir araya getirildiklerinde ne anlama geliyorlar ve başka verilerle birleştirilirse, onu modellememizi ister. Sadece meta veri etiketlerini bir şeylere kaydetmek yeterli değildir, aslında yapı başına anlam ve yapılar arasındaki ilişkiyi kaydetmeniz gerekir.
Daha sonra, üst katmanda, normalde meta veriler arasında anlam aktarmaya çalışan bir katman olan iş tanımları var, bu da verilerin bilgisayarda düzenlenme biçimini ve insan anlamını barındıran bir veri tanımı biçimidir. Yani o katmanda var olan iş terimleriniz, tanımlarınız, ilişkileriniz, varlık düzeyinde kavramlarınız var. Ve eğer bu katmanlar arasında tutarsızlık varsa, o zaman veri modellememiz gerekir. Gerçekten isteğe bağlı değil. Otomatikleştirmek açısından ne kadar çok yapabilirseniz, o kadar iyidir. Ama anlamla ilgili olduğu için, değiştirmek gerçekten zor. Bir kayıt içindeki meta verileri yakalamak ve bir dizi anlamdan alabilmek yeterince kolaydır, ancak size kayıtların yapısını veya kayıtların ne anlama geldiğini veya kaydın bağlamını söylemez.
Bence veri modelleme budur. Dikkat edilmesi gereken noktalar: Veri evreni ne kadar karmaşık hale gelirse, modellemek için o kadar fazla ihtiyacınız vardır. Başka bir deyişle, dünyaya sadece veri kayıtlarına karşılık gelen daha fazla şey örneği eklemiyoruz, ama aslında daha fazla şey hakkında veri yakalayarak dünyaya daha fazla anlam katıyoruz. Anlamak zorunda olduğumuz gittikçe daha karmaşık bir his haline geliyor.
Teorik olarak bir veri evreni vardır ve ona bakmamız gerekir. Uygulamada, gerçek meta veriler veri evreninin bir parçasıdır. Yani, bu basit bir durum değil. Başlangıç modellemesi yukarıdan aşağıya ve aşağıdan yukarıya doğrudur. Her iki yönde de inşa etmeniz gerekir ve bunun nedeni, verilerin bilgisayar ve süreç için onu işlemesi gereken bir anlamı vardır, ancak kendi başına bir anlamı vardır. Bu nedenle, verilere erişmesi gereken yazılımı tatmin eden aşağıdan yukarıya bir anlama ihtiyacınız vardır ve yukarıdan aşağıya anlamlara ihtiyacınız vardır, böylece insanlar bunu anlayabilir. Meta veri modellerinin oluşturulması bir proje değildir ve asla olamaz; bu sürekli bir faaliyettir - var oldukları her ortamda sürekli bir faaliyet olmalıdır. Neyse ki, aslında durum böyle olmayan ve işlerin buna göre kontrolden çıktığı birçok ortam var.
İleride, teknoloji ilerledikçe modelleme önem kazanıyor. Bu benim görüşüm. Ancak IoT'ye bakarsanız, yeni boyutlar sunmasına rağmen, mobil cihazlarla konumun boyutu olmasına rağmen mobil cihazları daha önce anlayabiliriz. IoT'ye ulaştıktan sonra, daha önce hiç yapmadığımız olağanüstü veri sorunlarına bakıyoruz ve tam olarak neye sahip olduğumuzu, tam olarak nasıl toplayabileceğimizi doğru şekilde anlamak zorundayız. toplamadan anlam elde etmek için neler yapabileceğimizi ve elbette, işlediğimizde onunla neler yapabileceğimizi.
Bence bu yeterince söyledim. Tamamen başka bir şey söyleyecek olan Dez Blanchfield'a geçeceğim.
Dez Blanchfield: Teşekkürler. Her zaman takip edilmesi zor bir eylemdir, ancak bu, öneri şakalarında kısaca bahsettiğimiz ve konuştuğumuz bir konudur ve erken aradıysanız, muhtemelen bir sürü büyük mücevher yakalamış olursunuz. Takeaway'lerden biri ve bu özelliğin gök gürültüsünü çalmak istemiyorum, ancak paylaşmak istemediğim prehow şakalarımızdan gelen taklitlerden biri, onu yakalamamış olmanız durumunda, veri yolculuğu ve veriyi nesiller boyu - yıl, ay, hafta, hafta, gün, saat, dakika, saniye - farklı bir bağlamda aldığı yolculuk hakkında düşünmemi sağladı. bu bağlamda konumlandırılmıştır. İster kod çalıştıran bir geliştirici olun, isterse bir veri uzmanıyım ve her bir öğenin etrafındaki yapı, biçim ve meta verileri veya sistemlerin ve işin onunla etkileşime girme şeklini düşünüyorum.
Bu sadece not etmek için ilginç bir küçük paket, ama her neyse, dalış yapmama izin verin. Özellikle veri tasarımı, her şey hakkında konuşmak için kullandığım ve özellikle uygulamaların veya veritabanı altyapısının geliştirildiği bir deyimdir. Bence veri tasarımı aklımda her şeyi çok iyi yakalayan bir terim. Veri tasarımı hakkında konuştuğumuz bu günlerde, modern çevik veri tasarımı hakkında konuşuyoruz ve benim görüşüme göre, geliştiriciler ve veri uzmanları tek başlarına çalıştı; kendi silolarındaydılar ve tasarım parçaları bir silodan diğerine geçti. Ama bugünlerde çok fazla görüşüm var, bu sadece değişen durum değil, değişmek zorunda; bu bir tür zorunluluktur ve bu da uygulama - geliştiriciler ve verilerle ilgilenen geliştirme ile ilgili her şey, şemaların ve alanların ilgili tasarım öğelerini yapan tasarımcılar ve kayıtlar ve konum ve veritabanı sistemleri ve altyapıları, modelleme ve tüm yönetim bunun etrafında meydan okuma. Bu şu anda bir takım sporu ve bu yüzden gökyüzüne düşen insanların görsel olarak ilginç görüntüsünü oynamak için bir takım olarak hareket eden bir uçaktan atlayan bir grup insanın resmim.
Üçüncüsü, buna neden olan ne oldu? 1986'da adlarını umutsuzca adalet yapmaya çalıştığım birkaç beyefendi tarafından yazılan bir yazı var, Hirotaka Takeuchi ve Ikujiro Nonaka, sanırım telaffuz edildi, “Scrum Downfield'ı Taşıma” başlıklı bir makale ürettiler. herkesin bir yerde dolaştığı ve iki takımın topun kontrolünü ele geçirip denemek ve sahaya oynamak için kafaları kilitlemek için bu scrum etkinliğinden gelen bir ragbi oyunu kazanma metodolojisi fikri Deneme çizgisine gidin ve topla yere dokunun ve üçgen olarak adlandırılan bir nokta alın ve bu işlemi tekrarlayın ve takım için daha fazla puan kazanın.
Bu makale 1986 yılında Harvard Business Review'da yayınlandı ve merakla çok fazla ilgi gördü. Çok dikkat çekti çünkü şaşırtıcı yeni konseptler getirdi ve burada önünün bir ekran görüntüsü var. Böylece bu scrum kavramını oyun ragbısından çıkardılar ve iş dünyasına ve özellikle tasarım ve proje teslimi oyununa, özellikle proje teslimi oyununa getirdiler.
Scrum'a yaptığımız, daha önce şelale metodolojisi dediğimiz şeyde kullandığımız PRINCE2 veya PMBOK'unkine kıyasla yeni bir metodoloji verdi, bilirsiniz, bu şeyi ve bu şeyi ve bunları yapın ve bunları sırayla takip edin ve bağlanın etrafınızdaki tüm noktalar, sahip olduğunuz şeye bağlıdır veya birinci bölümü yapana kadar ikinci bölümü yapmayın çünkü birinci bölüme bağlıydı. Bize verdiği şey, biraz daha çevik olmak için yeni bir metodolojidir, bu da terimin geldiği yer, şeyleri nasıl teslim ettiğimiz ve özellikle tasarım ve geliştirme tabanları proje teslimatı etrafında.
Anahtar kiracılardan bazıları - sadece bununla başa çıkmak - scrum'un anahtar kiracılarının etrafında. Kararsızlık inşa etme fikrini tanıttı, kaos korkusu hakkında etkili bir şekilde düşünürseniz, dünya bir kaos durumunda var, ancak ilginç olan gezegen oluştu, bu yüzden bina istikrarsızlığı, biraz zıplama yeteneği ve hala işleri işler hale getirmek, proje ekiplerini kendi kendine organize etmek, çok sorumlu geliştirme yoluyla örtüşen, proje teslim yolculuğu boyunca farklı öğrenme ve kontrol türleri, öğrenmenin örgütsel transferi. Öyleyse, işin bir bölümünden bilgiyi nasıl alıp, fikri olan ancak kodu geliştirmeyen veya veritabanları ve altyapıları geliştirmeyen, ancak bu kişilere veri geliştiren insanlardan diğerine nasıl aktarabiliriz? Ve özellikle zaman-kutulu sonuçlar. Başka bir deyişle, bunu 24 saatte olduğu gibi bir gün ya da bir hafta ya da birkaç hafta boyunca yapalım ve neler yapabileceğimizi görüp geri çekilip ona bakalım.
Ve böylece, eğer pardonu affederseniz, bu gerçekten proje teslimatında yeni bir oyun ve burada biraz daha ilerledikçe mantıklı olacak üç temel bileşen - ürün var: tüm bu insanların fikri var ve bir şeyler yapma ihtiyacı ve onları çevreleyen hikaye. Hikayelerini almak için çevik bir modelde ve tartışmak ve ne yapmaları gerektiğini anlamak için scrum metodolojisini kullanarak günlük standup'lar aracılığıyla çalışan geliştiriciler ve sadece devam edin ve devam edin ve yapın. Sonra insanlar, tüm bunları denetleyen ve metodolojiyi onu sürecek kadar iyi anlayan scrum ustalarını duyduk. Post-It notlarıyla dolu duvarların ve yazı tahtalarının sağ tarafında bulduğum bu görüntüleri hepimiz gördük ve Kanban duvarları olarak kullanıldılar. Kanban'ın kim olduğunu bilmiyorsanız, sizi Bay Kanban'ın kim olduğu ve neden bir duvardan bir projede bir projede bir taraftan diğerine taşıma şeklimizde bir değişiklik olduğunu Google'a davet ediyorum.
Bir bakışta, scrum iş akışı bunu yapar: bir kuruluşun yapmak istediği şeylerin bir listesini alır, bunları 24 saatlik periyotlara, ay sürelerine bölünmüş sprintler olarak adlandırdığımız bir dizi şeyle yürütür ve bu artımlı seri çıktıları elde edin. Projelerin teslim edilme, bu aşamaya teslim edilme biçiminde önemli bir değişiklik çünkü bunun bir kısmı, PMBOK adlı bir şey geliştirmenin büyük bir parçası olan ABD ordusu gibi akıyor, tankın sahaya çıkmaması fikri gibi Eğer mermiye bir şey koyuncaya kadar, eğer tarladaki bir tankta mermi yoksa, işe yaramaz. Bu nedenle birinci kısım tanka mermi konur, ikinci bölüm tanka sahada konur. Ne yazık ki, geliştirme dünyasındaki geliştiricilerle olan şey bir şekilde bu çevik metodolojiyi ele geçirdi ve puntayı affederseniz, bir sprintte düz bir şekilde bitti.
Değişmez bir şekilde, çevik olduğunu düşündüğümüzde genellikle veritabanlarını değil, veritabanları dünyasıyla ilgili her şeyi geliştiricileri düşünürüz. Bu talihsiz bir sonuçtu çünkü gerçek şu ki çeviklik sadece geliştiricilerle sınırlı değil. Aslında, benim görüşüme göre çevik terimi genellikle veritabanı tasarımcıları ve mimarları ile değil, sadece yazılım geliştiricilerle yanlış ilişkilidir. Her zaman yazılım ve uygulama geliştirmede karşılaştığınız aynı zorluklar, tasarım ve geliştirme, işletim ve bakım ve dolayısıyla veri altyapısı ve özellikle veritabanları ile ilgili her şeyle karşı karşıyadır. Bu özel veri dökümünde yer alan aktörler arasında veri mimarları, kalıpçılar, yöneticiler, veritabanı altyapılarının yöneticileri ve gerçek veritabanları kendilerini iş ve sistem analistleri ve mimarları, sistemlerin nasıl oturduğu ve düşünen insanlar ve iş dünyası ve bunlardan nasıl veri akışı elde ettiğimizi.
Bu, düzenli olarak gündeme getirdiğim bir konudur çünkü veri uzmanlarının şimdi, özellikle, özellikle geliştirmeyle ilgili olarak proje sunumunun her bileşenine yakından dahil olması gerektiği görüşünün çoğunda olduğum için sürekli bir hayal kırıklığı yaşıyorum. Bizim için değil, o zaman gerçekten iyi bir sonuç için kendimize en iyi şansı vermiyoruz. Sık sık geri dönüp bunları düşünmek zorundayız çünkü bir senaryo var, bir uygulama oluşturuluyor ve geliştiricilerin her zaman veri uzmanı olmadığını keşfediyoruz. Veritabanlarıyla çalışmak, özellikle veri etrafında çok özel beceriler gerektirir ve bir deneyim oluşturur. Bir gecede anında bir veritabanı gurusu veya veri bilgisi uzmanı olmuyorsunuz; bu genellikle yaşam boyu deneyimlerden ve kesinlikle Kod Bugün, kitabı oldukça zengin yazan Dr. Robin Bloor'un beğenilerinden gelen bir şeydir.
Birçok durumda - ve bu talihsiz ama bu bir gerçek - bu madalyonun iki kısmı var, yani yazılım geliştiricileri veritabanı uzmanı olarak kendi kararmalarına sahipler ve veritabanı tasarımı modellemesinde ihtiyaç duyduğunuz becerileri geliştirdiler, model geliştirme sadece guruların verinin nasıl geldiği ve yolculuğun organizasyonu ve neye benzemesi ya da neye benzememesi gerektiği konusundaki mühendisliği için ya da kuşkusuz, genellikle yazılım geliştiricileri için belirlenen yerel becerilerde elde edilen bu yutulmuş ve anlaşılır. Ve bunu ortaya koymak için karşılaştığımız ortak zorluklardan bazıları, sadece temel veritabanı tasarımının kendisinin temel oluşturulması ve sürdürülmesi ve yönetilmesi, verilerin ve veritabanı altyapısının belgelenmesi ve daha sonra bu veri varlıklarının, şema tasarımlarının, şema jenerasyonları, şemanın yönetimi ve bakımı ve bunların kullanımı, bu şemanın neden belirli bir şekilde tasarlandığı ve zamanla gelen güçlü ve zayıf yönlerin zaman içinde veri değişimlerine, veri modellemesine ve türlerine neden olduğu bilgisinin paylaşılması içinden geçtiğimiz sistemlere ve verilere uyguladığımız modeller. Veritabanı kodu üretimi ve entegrasyona devam eder ve daha sonra etrafındaki verileri modellenir ve daha sonra veri etrafındaki güvenliği kontrol etmek için daha hızlı erişim sağlar, verilerin bütünlüğü, bütünlüğünü koruduğumuz için verileri hareket ettiriyoruz, yeterli meta veri var mı satış, tablodaki tüm kayıtları görmeli mi yoksa yalnızca size postada bir şeyler gönderen adresi, adı, soyadı mı görmeli? Ve sonra elbette en büyük zorluk, kendi içinde tamamen farklı bir konuşma olan veritabanı platformlarını modellemektir.
Bu nirvanayı mümkün kılmak için tüm bunları göz önünde bulundurarak, hem veri uzmanlarının hem de geliştiricilerin uygun araçlara sahip olması ve bu araçların ekip odaklı proje sunumu yapabilmesi kesinlikle çok önemlidir. tasarım, geliştirme ve sürekli operasyonel bakım. Biliyorsunuz, veri uzmanları ve yazılım geliştiricileri arasındaki projeler arasında işbirliği yapmak, veritabanlarının kendilerinin, verilerin, kayıtların geldiği şemaların, bu kayıtların sahiplerinin etrafındaki her şey için tek doğruluk noktası veya tek doğruluk kaynağı gibi şeyler . Bu gün ve yaşta kesinlikle kritik olduğunu düşünüyorum, bu veri nirvanını kral olarak alacağız, doğru araçların yerinde olması gerekiyor çünkü meydan okuma şimdi bizim için manuel olarak yapamayacak kadar büyük ve insanlar bir kuruluşun içine ve dışına taşınmak, bir kişinin kurabileceği aynı süreci veya metodolojiyi takip etmememiz ve bu becerileri ve yetenekleri ileriye taşıması zorunlu değildir.
Bunu göz önünde bulundurarak, IDERA'daki iyi arkadaşımıza gideceğim ve bu aracı ve bu şeyleri nasıl ele aldığını duyacağım.
Ron Huizenga: Çok teşekkürler ve hem Robin hem de Dez'e sahneyi gerçekten iyi ayarladıkları için teşekkürler, bahsettiğim birkaç şeyde biraz çakışma göreceksiniz. Ama veri modelleme perspektifinden bahsedeceğim bazı kavramlar için gerçekten sağlam bir temel oluşturdular. Söyledikleri bir çok şey, veri modelleme ve veri mimarisinde çalışan bir danışman olduğumda ekiplerle birlikte kendi deneyimlerimi yansıtıyor - hem ilk günlerde şelale hem de çevik kullandığımız projelerle daha modern ürünlere dönüşüyor çözümler sunmak için yöntemler.
Bugün hakkında konuşacağım şey, bu deneyimlere ve bu yolculuk boyunca bize yardımcı olmak için kullandığımız araçların ve araçlardaki bazı yeteneklerin görüşüne dayanıyor. Çok kısaca ele alacağım, çok detaylı bir şekilde scrum'a girmeyeceğim; bunun ne olduğunu gerçekten iyi bir şekilde gözden geçirdik. Bunun hakkında bir veri modeli nedir ve bizim için gerçekten ne anlama geliyor? Kuruluşlarımızda çevik veri değiştirici kavramını nasıl mümkün kılıyoruz, veri modelcilerini nasıl meşgul ediyoruz, sprint sırasında modelcilerin ve mimarların katılımı nedir, ne tür faaliyetlerde bulunmaları gerektiği ve bunun arka planı olarak, bu işi daha kolay hale getirmek için kullandığımız önemli modelleme aracı özelliklerinden birkaçı nelerdir? Daha sonra bir parçaya geçeceğim ve sadece bir veri modelleyicisinin dahil olmasının iş değerleri ve yararları hakkında biraz konuşacağım, ya da aslında hikayeyi anlatacağım yol, bir veri modelleyicinin projelere tam olarak dahil olmama problemleri ve size, yıllar önce dahil olduğum gerçek bir projenin önceki ve sonraki görüntüsünün deneyimine ve kusur tablosuna dayalı olduğunu göstereceğim. Ve sonra birkaç noktayı daha özetleyeceğiz ve buna ek olarak soru ve cevaplarımız olacak.
Çok kısaca, ER Studio çok farklı bileşenleri olan çok güçlü bir paket. Veri modelcilerinin ve mimarların zamanlarının çoğunu veri modellemelerini yaparak harcadıkları Veri Mimarı. Bugün hiç konuşmayacağımız başka bileşenler de var, örneğin bazı UML modellemesi için süreç modelleme yaptığımız İş Mimarı ve Yazılım Mimarı. Ardından, check-in yaptığımız ve modelleri paylaştığımız Havuz var ve ekiplerin bunlar üzerinde işbirliği yapmasına ve ekip sunucusunda yayınlamasına izin veriyoruz, böylece bir projeye katılan birden fazla paydaş kitlesi, veri sunumundan ve proje sunumunda yaptığımız diğer şeylerden yaratıyoruz.
Bugün üzerinde duracağım şey Veri Mimarından göreceğimiz birkaç şey olacak ve çünkü bunun Havuz temelli yönleri ile işbirliğimiz gerçekten önemli. Özellikle değişim yönetimi gibi zorunlu olan kavramlar hakkında konuşmaya başladığımızda, sadece çevik kalkınma projeleri değil, ileriye dönük her türlü kalkınma.
Bir an için Çevik Veri Modelleyici hakkında konuşalım. Sunumda daha önce de belirttiğimiz gibi, veri geliştirme ve / veya mimarların çevik geliştirme süreçlerine tam olarak dahil olması zorunludur. Tarihsel olarak olan şey şu ki, evet, biz gerçekten bir gelişme perspektifinden çevikliği düşündük ve gerçekten bunun ortaya çıkmasına neden olan birkaç şey var. Bunun bir kısmı, gelişimin kendisinin ortaya çıkış şeklinin doğasından kaynaklanıyordu. Çevik gelişme başladığında ve bu kendi kendini organize eden ekipler konseptiyle başladığımızda, eğer Kool-Aid'i biraz fazla saf içtiyseniz ve şeylerin aşırı programlama tarafında idiyseniz, bunun gibi şeylerin çok gerçek bir yorumu vardı. bir çok insanın demek istediği kendi kendini organize eden ekipler, tek ihtiyacımız olan tüm çözümü oluşturabilen bir grup geliştiricidir. Kodun geliştirilmesi, arkasındaki veritabanları veya veri depolarının geliştirilmesi ve her şey geliştiricilere devredildi. Ancak bununla birlikte, insanların sahip olduğu özel yetenekleri kaybedersiniz. En güçlü takımların farklı geçmişlere sahip insanlardan oluşan takımlar olduğunu gördüm. Gçlü yazılım geliştiricileri, veri mimarları, veri modelcileri, iş analistleri ve iş paydaşlarının bir kombinasyonu gibi hepsi de bir çözüm üretmek için birlikte çalışır.
Bugün de bahsettiğim şey, bunu, veri bileşeninin de kendisiyle ilişkilendirileceği bir uygulama geliştirdiğimiz bir geliştirme projesi bağlamında yapacağım. Bunu yapmadan önce bir adım geriye gitmemiz gerekiyor, çünkü orada sadece o geliştirme projesinin içinde sınırlı olan verilerin yaratılması ve tüketilmesine tamamen odaklandığımız çok az Greenfield geliştirme projesi olduğunu anlamamız gerekiyor. . Geriye doğru bir adım atmamız ve genel bir kurumsal bakış açısına veri perspektifinden ve süreç perspektifinden bakmamız gerekiyor. Çünkü bulduğumuz şey, kullandığımız bilgiler kuruluşlarda bir yerde mevcut olabilir. Modelciler ve mimarlar olarak bunu ışığa çıkarıyoruz, böylece bu bilgiyi projelerin kendilerinden nereden kaynaklayacağımızı biliyoruz. İlgili veri yapılarını da biliyoruz, çünkü geliştiricilerin kodları için tasarım kalıpları olduğu gibi tasarım kalıplarımız da var. Ayrıca bu genel organizasyonel perspektifi de ele almamız gerekiyor. Verilere sadece inşa ettiğimiz uygulama bağlamında bakamayız. Verileri modellemeli ve belgelendirdiğimizden emin olmalıyız çünkü uygulamaların kendisinin çok ötesinde yaşıyor. Bu uygulamalar gelir ve gider, ancak verilere bakabilmemiz ve sadece uygulama için değil, aynı zamanda faaliyetleri, BI raporlarını ve diğer uygulamalara entegrasyonu, dahili ve kurumlarımız dışında. Bu nedenle, verilerin o büyük resmine ve bu verilerin yaşam döngüsünün ne olduğuna bakmamız ve bilgi parçalarının beşikten mezara kadar organizasyon boyunca yolculuklarını anlamamız gerekir.
Şimdi gerçek ekiplerin kendilerine ve aslında nasıl çalışmamız gerektiğine baktığımızda, şelale metodolojisi sonuç vermek için çok yavaş olarak algılanıyordu. Çünkü, tank örneğinde belirtildiği gibi, birbiri ardına bir adımdı ve uygulanabilir bir sonuç elde etmek genellikle çok uzun sürdü. Şimdi yaptığımız şey, bileşenlerini aşamalı olarak geliştirdiğimiz ve her bir sprint için kullanılabilir kod veya kullanılabilir eserler ürettiğimiz zaman içinde detaylandırdığımız yinelemeli bir çalışma stiline ihtiyacımız var. Önemli olan, takımdaki teknik paydaşlar ile iş paydaşları arasında işbirliği yapmaktır, çünkü bu kullanıcı hikayelerini uygulanabilir bir kod vizyonuna ve bu kodu destekleyen verilere dönüştürmek için işbirliği yapıyoruz. Ve Agile Data Modeler'ın kendisi genellikle organizasyonlarda yeterli modelcilere sahip olmadığımızı görecektir, bu nedenle bir veri modelleyici veya mimar aynı anda birden fazla takımı destekliyor olabilir.
Ve bunun diğer yönü, birden fazla modelcimiz olsa bile, aynı anda uçuşta olan birden fazla projenin işbirliğini ve bunların paylaşılmasını sağlayan bir araç setimiz olduğundan emin olmamız gerekir. veri yapıları ve check-in ve check-out özellikleri. Bunu çok hızlı bir şekilde ele alacağım çünkü bir önceki bölümde zaten ele almıştık. Çevikliğin asıl dayanağı, şeyleri birikmiş işler, hikayeler veya gereksinimlerden dayandırmanızdır. Yinelemeler içinde grup olarak işbirliği yapıyoruz. Genellikle, organizasyona bağlı olarak iki haftalık veya bir aylık bir sprint çok yaygındır. Ayrıca günlük inceleme ve stand-up toplantıları, böylece engelleyicileri ortadan kaldırıyoruz ve ilerledikçe farklı alanlarda durmadan tüm yönleri ileriye taşıdığımızdan emin oluyoruz. Ve bu sprintlerde, her sprint'in bir parçası olarak kullanılabilir çıktılar ürettiğimizden emin olmak istiyoruz.
Biraz daha farklı bir bakış açısı, daha da genişletmek, scrum burada daha ayrıntılı olarak konuşacağım metodolojidir ve temelde bu önceki resmi birkaç yönüyle daha da artırdık. Genellikle bir ürün biriktirme listesi ve daha sonra bir sprint biriktirme listesi vardır. Dolayısıyla, her sprint yinelemesinin başlangıcında, “Bu sprint'i ne oluşturacağız?” Demeye hazır olduğumuz ve bu bir sprint planlama toplantısında yapılan genel bir birikimimiz var. Ardından, bununla ilişkili görevleri parçalara ayırırız ve bu günlük incelemelerle bir ila dört haftalık sprintlerde yürütürüz. Bunu yaparken, gelişim hızımız gibi şeyler oluşturmak için inşa ettiğimiz şeylere karşı inşa etmek için kalanları takip etmek için ilerlememizi yakma çizelgeleri ve yakma çizelgeleri yoluyla izliyoruz, yapacağız tüm bu tür şeyler. Tüm bunlar, birkaç ay yolda gitmekten ve kısa sürede geleceğinizi ve proje çizelgesini genişletmeniz gerektiğini öğrenmek yerine sprint sırasında sürekli olarak detaylandırılır. Ve çok önemli, bunun bir parçası olarak, tüm takımlar, sonunda bir sprint incelemesi ve bir sprint retrospektifi var, bu yüzden bir sonraki yinelemeye başlamadan önce ne yaptığınızı gözden geçiriyorsunuz ve yapabileceğiniz yolları arıyorsunuz bir dahaki sefere geliştirmek.
Çıktılar açısından, bu temel olarak sprintlerde devam eden tipik şey türlerini özetleyen bir slayttır. Ve bu çok geliştirme odaklı, bu yüzden burada gördüğümüz birçok şey, örneğin fonksiyonel tasarımlar ve kullanım örnekleri, tasarım kodu testleri yapmak, buradaki kutulara baktığımızda ve bunlardan geçmeyeceğim herhangi bir ayrıntı düzeyinde, onlar çok geliştirme odaklı. Ve burada gömülü olması, bu çabayı desteklemek için bununla birlikte gelen veri çıktılarına da sahip olmamız gerektiğidir. Bu nedenle, biriktirme listeleri, gereksinimler ve kullanıcı hikayeleri gibi her şeyi gördüğümüzde, ilerlerken, yapmamız gereken geliştirme parçalarının ne olduğuna, yapmamız gereken analiz parçalarının ne olduğuna, veri tasarımı veya veri modeli, iş anlamını ürettiğimiz tüm eserlerle ilişkilendirebilmemiz için iş sözlüğü gibi şeyler hakkında ne söyleyebiliriz? Çünkü her sprint'te bu kullanılabilir çıktıları üretmemiz gerekiyor.
Bazı insanlar her sprint sonunda kullanılabilir kod üretmemiz gerektiğini söyleyecektir. Bu her zaman böyle değildir, yani en saf gelişme perspektifinde, ancak oldukça sık - özellikle başlangıçta - tamamen ayakta durmaya, test stratejilerimizi uygulamaya koymak gibi şeyler yapmaya odaklandığımız sprint zero gibi bir şeye sahip olabiliriz. yer. Ayrıntıları doldurmaya başlamadan önce başlamak için üst düzey bir tasarım ve diğer kitlelere katılmaya başlamadan önce ve bir takım olarak ileriye doğru ilerlerken başlamadan önce temiz bir başlangıç hikayesi veya gereksinimlerimiz olduğundan emin olun. Her zaman biraz hazırlık süresi vardır, bu yüzden sık sık sprint sıfır veya hatta sprint sıfır ve bir tane olur. Çözümü sunarken tam uçuş yapmadan önce biraz başlangıç aşaması olabilir.
Bu bağlamdaki veri modelleri hakkında kısaca konuşalım. İnsanlar veri modellerini düşündüklerinde, genellikle bir veri modelini, farklı bilgi parçalarının birbirine nasıl bağlandığının bir resmi olarak düşünürler - bu buzdağının sadece görünen kısmıdır. Veri modellemeye - çevik gelişimde ve diğer şeylerde - gerçekten yaklaşmak istediğinizin ruhunu tam olarak somutlaştırmak için, doğru bir şekilde yapılırsa, verilerin kuruluşta ne anlama geldiğine dair tam spesifikasyonunuz haline geldiğini fark etmelisiniz. arka uç veritabanlarında nasıl dağıtıldığı. Veritabanları dediğimde, sadece kullanabileceğimiz ilişkisel veri tabanları değil, aynı zamanda büyük veri ya da NoSQL platformlarına sahip olduğumuz günümüz mimarilerinde onları çağırmayı tercih ediyorum. Ayrıca bu büyük veri depoları, çünkü bilgi tüketme ve bunları çözümlerimize getirme ve bu bilgileri çözümlerimizden nasıl koruduğumuz veya kaydetme açısından birçok farklı veri deposunu birleştiriyor olabiliriz.
Belirli bir uygulama bağlamında birden çok veritabanı veya veri kaynağıyla aynı anda çalışıyor olabiliriz. Çok önemli olan, tam bir spesifikasyona sahip olmak istiyoruz, bu yüzden bunun bir sprint organizasyon perspektifi için ne anlama geldiğinin mantıklı bir spesifikasyonu, verileri gerçekte nasıl tanımladığımız, fiziksel ilişkiler arasındaki ilişkiler açısından ne olduğu veritabanlarınız, referans bütünlük kısıtlamalarınız, kontrol kısıtlamalarınız, genellikle düşündüğünüz doğrulama parçalarının tümü. Açıklayıcı meta veriler son derece önemlidir. Verileri uygulamalarınızda nasıl kullanacağınızı nereden biliyorsunuz? Bunu tanımlayamaz ve bunun ne anlama geldiğini veya nereden geldiğini bilmediğiniz sürece, bu uygulamalarda doğru verileri kullandığınızdan emin olmak için - doğru adlandırma kurallarına, tam tanımlara sahip olduğumuzdan emin olmak, sadece tam bir veri sözlüğü anlamına gelir. tabloları ancak bu tabloları içeren sütunları - ve bu bilgiyi nasıl kullandığımızla ilgili ayrıntılı dağıtım notları, çünkü bu bilgi tabanı oluşturmamız gerektiğinden, bu uygulama yapıldığında bile, bu bilgiler diğer girişimler için kullanılacağından emin olmamız gerekir. gelecekteki uygulamalar için belgelenen her şeye sahibiz.
Yine, veri türleri, anahtarlar, dizinler gibi şeylere iniyoruz, veri modelinin kendisi devreye giren birçok iş kuralını somutlaştırıyor. İlişkiler sadece farklı tablolar arasındaki kısıtlamalar değildir; genellikle verilerin nasıl davrandığı ve uyumlu bir birim olarak birlikte nasıl çalıştığı konusunda gerçek iş kurallarının ne olduğunu açıklamamıza yardımcı olurlar. Ve elbette, değer kısıtlamaları çok önemlidir. Şimdi elbette, sürekli uğraştığımız şeylerden biri ve gittikçe yaygınlaşıyor, veri yönetimi gibi şeyler. Yani bir veri yönetişimi perspektifinden, burada neyi tanımladığımıza da bakmamız gerekiyor. Güvenlik sınıflandırmaları gibi şeyleri tanımlamak istiyoruz. Ne tür verilerle ilgileniyoruz? Ana veri yönetimi nedir? Yarattığımız işlemsel mağazalar nelerdir? Bu uygulamalarda hangi referans verilerini kullanıyoruz? Modellerimizde uygun şekilde yakalandığından emin olmalıyız. Ayrıca veri kalitesi ile ilgili hususlar, bir kuruluş için diğerlerinden daha önemli olan bazı bilgiler vardır.
Bir düzineden fazla eski sistemi yeni iş süreçleriyle değiştirdiğimiz ve bunların yerine yeni uygulamalar ve veri mağazaları tasarladığımız projelere katıldım. Bilginin nereden geldiğini bilmemiz gerekiyordu. En önemli bilgi parçaları için, bir iş perspektifinden, burada aldığım bu özel veri modeli slaytına bakarsanız, bu küçük varlıkların alt kutularının, sadece küçük bir alt küme olduğunu göreceksiniz. iş değerini gerçekten yakalayabildik. Organizasyon içindeki bu farklı yapılar için bu tür şeyler için yüksek, orta veya düşük olsun. Ayrıca, ana veri sınıfları, ister ana tablolar olsun, ister referans olsun, işlemsel olmaları gibi şeyleri yakaladım. Bu nedenle, orijinal veriler dışındaki diğer girişimlerde bize yardımcı olan ve bunları ileriye taşıyan bize yardımcı olan çok sayıda başka özellik vermek için modellerimizdeki meta verilerimizi genişletebiliriz. Şimdi bu bir slaytta çok şey vardı, bunların geri kalanından oldukça hızlı geçeceğim.
Şimdi bu farklı sprintlerden geçerken bir veri modelleyicinin ne yaptığı hakkında çok hızlı konuşacağım. Her şeyden önce, kullanıcı hikayelerini aldığımız, o sprint'te ne sunacağımızı taahhüt ettiğimiz ve onu nasıl yapılandıracağımızı ve teslim edeceğimizi anladığımız sprint planlama oturumlarına tam bir katılımcı. Bir veri modelleyici olarak da yaptığım şey, farklı geliştiricilerle veya farklı insanlarla ayrı alanlarda çalışacağımı biliyorum. Sahip olabileceğimiz önemli özelliklerden biri, bir veri modeli yaparken, söz konusu veri modelini, ister konu alanları ister alt modeller olarak adlandırın, farklı görünümlere bölebiliriz, terminolojimizdir. Modeli oluştururken, bu farklı alt model perspektiflerinde de gösteriyoruz, böylece farklı kitleler yalnızca kendileriyle neyin alakalı olduğunu görüyorlar, böylece geliştirdikleri ve ortaya koydukları şeye konsantre olabiliyorlar. Bu yüzden birisinin bir uygulamanın bir programlama parçası üzerinde çalışmasını sağlayabilirim, başka birisinin sipariş girişinde çalışarak başka bir şey yapabilirim, tüm bunları tek bir sprintte yapabiliriz, ancak onlara yalnızca bu alt modeller aracılığıyla bakış açıları verebilirim. üzerinde çalıştıkları alana uygulayın. Ve sonra, farklı kitleye görmeleri gerekeni görmek için genel modele ve alt modellerin tüm yapısına yuvarlanırlar.
Sahip olmak istediğimiz bir veri modelleme perspektifinin temelleri her zaman geri dönebileceğimiz bir temel çizgidir, çünkü yapabilmemiz gereken şeylerden biri, ister sprint sonunda ister sonunda olsun birkaç sprint için, nereden başladığımızı bilmek istiyoruz ve belirli bir sprint'te ürettiğimiz deltanın veya farkımızın ne olduğunu bilmek için her zaman bir temelimiz var. Ayrıca, hızlı bir geri dönüş yapabileceğimizden de emin olmamız gerekir. Veri değiştirici olarak gelirseniz, ancak “Hayır, hayır, bunu yapamazsınız, önce tüm bunları yapmalıyız” demenin geleneksel bekçi rolünde, gerçekten ihtiyacınız olduğunda takımın dışında bırakılacaksınız. tüm bu çevik geliştirme ekiplerinde aktif bir katılımcı olmak. Bu, bazı şeylerin belirli bir sürat yaparak vagondan düştüğü ve daha sonraki sprintlerde aldığınız anlamına gelir.
Örnek olarak, sadece bahsettiğim gelişmeyi, bahsettiğim sipariş giriş parçasını elde etmek için veri yapılarına odaklanabilirsiniz. Daha sonraki bir sprintte, geri dönüp oluşturduğunuz bazı yapay nesnelerin etrafındaki veri sözlüğü için bazı belgeler gibi verileri doldurabilirsiniz. Bu tanımı tek bir süratle tamamlamayacaksınız; geliştiriciler uygulamaları ve bu veri depolarının etrafındaki kalıcılığı oluşturmakla meşgulken, iş analistleriyle çalışan bu bilgileri doldurabileceğiniz zamanlar olacağından, çıktılarınızı aşamalı olarak sürdürmeye devam edeceksiniz. Kolaylaşmak istiyorsunuz ve darboğaz değilsiniz. Geliştiricilerle çalışmanın farklı yolları vardır. Bazı şeyler için tasarım örüntülerimiz var, bu yüzden önde tam bir katılımcıyız, bu yüzden modelin içine koyacağımızı söyleyeceğimiz bir tasarım örüntüsüne sahip olabiliriz, bunu geliştiricilerin sandbox veritabanlarına göndereceğiz ve sonra onunla çalışmaya başlayın ve değişiklik isteyin.
Geliştiricilerin üzerinde çalıştıkları başka alanlar da olabilir, üzerinde çalıştıkları bir şey var ve bazı şeyleri prototip haline getiriyorlar, böylece kendi geliştirme ortamlarında bazı şeyleri deniyorlar. Birlikte çalıştıkları bu veritabanını alıyoruz, modelleme aracımıza getiriyoruz, sahip olduğumuz modellerle karşılaştırıyoruz ve daha sonra değişiklikleri doğru veri yapılarını takip edebilmeleri için kodlarını yeniden düzenleyebilmeleri için çözümleyip geri gönderiyoruz. ihtiyacımız var. Zaten başka yerlerde sahip olduğumuz bazı şeyleri yaratmış olabilirler, bu yüzden doğru veri kaynakları ile çalıştıklarından emin oluruz. Veri aktarımlarının tamamını, tam belgelemeleri ve ürettiğimiz tüm veri yapılarının tanımlarını elde edebilmemiz için bunu sprint'imize kadar tekrarlamaya devam ediyoruz.
Çok iyi teslimatlar ile ilgili olduğum en başarılı çevik projeler, bir felsefemiz vardı, tüm fiziksel veritabanı spesifikasyonundaki tüm değişiklikleri modelledik. Özünde, veri modeli, oluşturduğumuz yeni herhangi bir şey için birlikte çalıştığınız konuşlandırılmış veritabanları haline gelir ve diğer dış veritabanlarından tüketiyorsak, diğer veri depolarının tam referanslarına sahiptir. Bunun bir parçası olarak, her seferinde tam bir nesil yapmak yerine artımlı senaryolar üretiyoruz. Ve birlikte çalıştığımız farklı geliştirme ekipleriyle işlerin sprintlere çıkması açısından bu hızlı artışı sağlamak için tasarım kalıplarımızı kullanıyoruz.
Sprint aktivitelerinde de, karşılaştırmak / birleştirmek için yine bu temeldir, bu yüzden her değişikliği modelleme fikrini ele alalım. Her değişiklik yaptığımızda, yapmak istediğimiz şey değişikliği modellemek istiyoruz ve çok önemli olan şey, veri modellemede yakın zamana kadar, aslında yeniden başlatana kadar eksik olan şey modellemeyi ilişkilendirebilme yeteneğidir. görevleri ve bu değişikliklerin gerçekleşmesine neden olan kullanıcı öyküleri ve görevleri ile teslim edilebilirlikleriniz. Model değişikliklerini kontrol edebilmek istiyoruz, geliştiriciler kodlarını kontrol ederken, sahip olduğumuz kullanıcı hikayelerine atıfta bulunuyoruz, bu yüzden neden ilk etapta değişiklikler yaptığımızı biliyoruz, bu yaptığımız bir şey. Bunu yaptığımızda, artımlı DDL komut dosyalarımızı oluşturur ve diğer geliştirme çıktılarıyla alınabilmeleri ve derleme çözümümüzde kontrol edilebilmeleri için göndeririz. Yine, bir modelimiz olabilir veya birden fazla ekiple çalışabiliriz. Ve bahsettiğim gibi, bazı şeyler veri modelleyiciden kaynaklanırken, diğer şeyler geliştiriciler tarafından kaynaklanır ve genel olarak en iyi tasarımı bulmak ve ileri itmek ve doğru şekilde tasarlandığından emin olmak için buluşuruz. genel veri yapıları. Veri modelimizde, null ve null olmayan değerler, referanssal kısıtlamalar, temel olarak kontrol etmeyi düşündüğümüz şeyler de dahil olmak üzere, ilerlerken veri modelimizdeki tüm uygun yapılara sahip olduğumuzdan emin olmalıyız. .
Şimdi bunu yapmamıza yardımcı olan bazı araçların sadece birkaç ekran görüntüsünden bahsedelim. Önemli olduğunu düşündüğüm şey, işbirlikçi veri havuzuna sahip olmaktır, bu yüzden veri modelcileri olarak neler yapabiliriz - ve bu, arka planda bir veri modelinin bir parçasının bir parçası - yapabileceğimizden emin olmak istediğimiz şeyler üzerinde çalışırken sadece değiştirebilmemiz, modifikasyonlar yapabilmemiz, DDL betiklerimizi oluştururken, bazı şeyleri tekrar kontrol ederken yaptığımız değişiklikler için DDL scriptlerimizi üretiyoruz. Yani, yapabileceğimiz şey, ER Studio'da bir örnektir, üzerinde çalışılacak nesneleri veya nesne gruplarını kontrol edebiliriz, tüm bir modeli veya alt modeli kontrol etmek zorunda değiliz, sadece ilgimizi çeken şeyleri kontrol edebiliriz. Bundan sonra yapmak istediğimiz şey, check-out veya check-in zamanıdır - her iki şekilde de yapıyoruz çünkü farklı geliştirme ekipleri farklı şekillerde çalışıyor. Bunu, gereksinimleri karşılayan ve geliştiricilerin kodlarını geliştireceği ve kontrol edeceği aynı kullanıcı hikayesi veya görevi olacak olan kullanıcı hikayesi veya görevle ilişkilendirdiğimizden emin olmak istiyoruz.
İşte değişim yönetim merkezlerimizden birinin birkaç ekranının çok hızlı bir pasajı. Bu ne yapar, burada ayrıntılı olarak geçmeyeceğim, ancak gördüğünüz şey kullanıcı hikayesi veya görevi ve gerçek değişiklik kayıtlarını gördüğünüz her birinin altına girintili - ne zaman otomatik bir değişiklik kaydı oluşturduk check-in ve check-out yapıyoruz ve bu değişiklik kaydına da daha fazla açıklama koyabiliriz. Görevle ilişkilidir, beklediğiniz gibi görev başına birden fazla değişiklik yapabiliriz. Ve bu değişim kaydına girdiğimizde, ona bakabilir ve daha da önemlisi, neyi değiştirdik? Bu özel konu için, vurgulanan öyküde bir tür değişiklik yapıldı ve gerçek değişiklik kaydına baktığımda, değişen modeldeki bireysel parçaları belirledi. Burada birkaç özniteliği değiştirdim, onları yeniden boyutlandırdım ve değişime ihtiyaç duyulan görüşlere, bunlara bağlı olan ve böylece artımlı DLL'de oluşturulacak şekilde getirdim. Yalnızca temel nesneler üzerinde modelleme yapmakla kalmaz, bunun gibi yüksek güçlü bir modelleme aracı da veritabanındaki bağımlı nesneler veya veri modeli ile dalgalandırılması gereken değişiklikleri algılar.
Geliştiricilerle çalışıyor ve bunu birkaç farklı şeyde yapıyorsak, bu onların sanal alanlarında bir şey yapıyor ve farklılıkların nerede olduğunu karşılaştırmak ve görmek istiyorsak, sağ tarafta ve solda karşılaştırma / birleştirme yetenekleri kullanıyoruz yan. “İşte sol taraftaki modelimiz, sağ taraftaki veri tabanı, bana farklılıkları göster” diyebiliriz. Sonra, şeyleri veritabanına aktarsak da, veritabanında modelin içine geri getirdiğimiz bazı şeyler var. İki yönlü gidebiliriz, böylece her iki yöne de aynı anda hem kaynağı hem de hedefi güncelleyebilir ve daha sonra bu değişiklikleri veritabanı ortamına dağıtmak için artımlı DDL komut dosyalarını üretebiliriz, ki bu son derece önemlidir. Yapabileceğimiz şey, bu karşılaştırma ve birleştirme yeteneğini herhangi bir zamanda kullanabiliriz, eğer yolda anlık görüntüler çekiyorsak, her zaman bir sprintin başlangıcını başka bir sprint'in başlangıcı veya sonu ile karşılaştırabiliriz, böylece görebiliriz belirli bir geliştirme sprintinde veya bir dizi sprint üzerinde yapılanların tam artımlı değişimi.
Bu, bir alter betiğinin çok hızlı bir örneğidir, veritabanlarıyla çalışan herhangi biriniz bu tür bir şey görmüş olacak, bu, alter betiği olarak koddan çıkabileceğimiz şeydir, böylece burada bir şeyler saklayın. Buradan çıkardığım şey, sadece dağınıklığı azaltmak için, bu değiştirme komut dosyalarıyla da yaptığımız şey, bu tablolarda da veri olduğunu varsaymamızdır, bu nedenle geçici tabloların bilgilerini çekecek DML'yi de üreteceğiz ve onu yeni veri yapılarına da geri itelim, böylece sadece yapılara değil, bu yapılarda zaten içerebileceğimiz verilere de bakıyoruz.
Otomatik yapı sistemleri hakkında çok hızlı konuşacağız çünkü çevik bir proje yaparken sıklıkla yapılarımızı bozmadığımızdan emin olmak için farklı çıktıları birlikte kontrol etmemiz gereken otomatik yapı sistemleri ile çalışıyoruz. Bunun anlamı, çıktıları senkronize etmemiz, DDL komut dosyası ile bahsettiğim değişiklik komut dosyalarının kontrol edilmesi, karşılık gelen uygulama kodunun aynı anda kontrol edilmesi gerekiyor ve elbette bir çok geliştirici gelişimi elbette değil veritabanlarına ve bu tür şeylere karşı doğrudan SQL ile yapılıyor. Çoğu zaman kalıcılık çerçeveleri kullanıyoruz veya veri hizmetleri oluşturuyoruz. Bu çerçeveler veya hizmetler için yapılan değişikliklerin aynı anda teslim edildiğinden emin olmalıyız. Bazı kuruluşlarda otomatik bir yapı sistemine girerler ve yapı kırılırsa, çevik bir metodolojide, ilerlemeden önce bu yapıyı güverte sabitlemede eller, böylece daha ileri gitmeden önce çalışan bir çözümümüz olduğunu biliriz. Ve dahil olduğum projelerden biri, bunu aşırıya taşıdık - eğer yapı kırılması, iş kullanıcılarımızla birlikte bulunduğumuz bölgemizdeki bazı bilgisayarlara bağlamış olsaydık, sadece kırmızı yanıp sönen ışıklar vardı Polis arabalarının tepesi gibi. Ve eğer yapı kırılırsa, o kırmızı yanıp sönen ışıklar sönmeye başladı ve bunun güvertede tüm eller olduğunu biliyorduk: yapıyı düzeltin ve sonra yaptığımız işe devam edin.
Başka şeyler hakkında konuşmak istiyorum ve bu ER Studio için eşsiz bir yetenek, bu eserleri bu kalıcılık sınırları için geliştiriciler olarak oluşturmaya çalışırken, iş veri nesneleri ve bizim yapmamıza izin veren bir kavramımız var. bu çok basit veri modeline örnek olarak bakarsanız, kalıcılık sınırlarının olduğu varlıkları veya varlık gruplarını kapsüllememize izin verir. Bir veri modelleyici olarak, bir satınalma siparişi başlığı ve sipariş hizalaması ve bunu oluşturma şeklimize bağlanan diğer ayrıntılı tablolar gibi bir şey düşünebiliriz ve veri hizmetleri geliştiricilerimiz, işlerin bu farklı verilere nasıl devam ettiğini bilmelidir. yapıları. Geliştiricilerimiz, satınalma siparişi gibi şeyleri genel olarak bir nesne olarak düşünüyor ve bu belirli nesneleri nasıl oluşturdukları ile olan sözleşmeleri nedir. Bu teknik ayrıntıyı, veri sunucularını oluşturan kişilerin altında ne olduğunu görebilmeleri için gösterebiliriz ve diğer kitleleri karmaşıklıklardan koruyabiliriz, böylece sadece iş ile iletişim kurmak için çok iyi çalışan farklı üst düzey nesneleri görürler. Farklı iş konseptlerinin etkileşimi hakkında konuşurken analistler ve iş paydaşları.
Bununla ilgili güzel olan şey, bunları yapıcı bir şekilde genişletip daraltmamızdır, böylece üst düzey nesneler arasındaki ilişkileri, bu iş veri nesnelerinin içinde bulunan yapılardan kaynaklansalar bile, koruyabiliriz. Şimdi bir modelci olarak, sprint'in sonuna gelin, sprint paketlemesinin sonunda, bir sonraki sprint için oda temizliğim dediğim birçok şey var. Adlandırılmış Sürüm dediğim şeyi yaratıp yarattığım her sprint, bu sürümün sonunda bana sahip olduğum şeyin temelini oluşturuyor. Yani bu benim ilerlemem olacak, oluşturduğum ve depomda kaydettiğim tüm bu taban çizgileri veya Adlı Sürümler, karşılaştırma / birleştirme yapmak için kullanabileceğim, böylece herhangi bir sprintten herhangi bir sprintin ucuyla her zaman karşılaştırabileceğim anlamına gelir. yolculuğu boyunca veri modelinizde yaptığınız değişikliklerin neler olduğunu bilmek çok önemlidir.
Ben de sprint başlangıcından sonuna kadar karşılaştırma / birleştirme kullanarak bir delta DDL komut dosyası oluşturun. Bir dizi artımlı komut dosyasını kontrol etmiş olabilirim, ancak buna ihtiyacım varsa, şimdi diğer kum havuzlarına dayanabileceğim bir komut dosyası var, bu yüzden sadece bir sprint'in başlangıcında bu olduğunu söyleyebilirim, it bir sonraki sprint ile başlamak için bir sanal alan olarak bir veritabanı oluşturun ve bu şeyleri stand up QA örnekleri gibi şeyler yapmak için de kullanabiliriz ve nihayetinde değişikliklerimizi üretime itmek istiyoruz, böylece devam eden birçok şeyimiz var aynı zamanda. Yine, sprint planlama ve retrospektiflere tam olarak katılıyoruz, retrospektifler gerçekten öğrenilen dersler ve bu çok önemlidir, çünkü çeviklik sırasında çok hızlı bir şekilde gidebilirsiniz, başarıları durdurmanız ve kutlamanız gerekir, şimdi olduğu gibi. Neyin yanlış olduğunu anlayın, bir dahaki sefere daha iyi hale getirin, ancak doğru giden şeyleri kutlayın ve ilerideki sonraki sprintlerde ilerlemeye devam ederken onları geliştirin.
Şimdi çok hızlı bir şekilde iş değeri hakkında konuşacağım. Yıllar önce, çevik bir proje olarak başlayan bir proje vardı ve bu aşırı bir projeydi, bu yüzden her şeyi yapan geliştiricilerin bulunduğu saf bir kendi kendini organize eden ekipti. Uzun bir hikaye kısaltmak için, bu proje duruyordu ve tespit edilen kusurları düzeltmek ve düzeltmek için daha fazla işlevsellik geliştirmeye ve aslında baktıklarına göre daha fazla zaman harcadıklarını buluyorlardı. yakma çizelgelerinde projeyi altı ay boyunca büyük bir maliyetle uzatmak zorunda kalacaklardı. Ve ona baktığımızda, sorunu çözmenin yolu, projenin kendisinde yer alan yetenekli bir veri modelleyici ile uygun bir veri modelleme aracını kullanmaktı.
Bu grafikteki bu dikey çubuğa bakarsanız, bu kümülatif nesnelere karşı kümülatif kusurları gösteriyor ve eğer bakarsanız, kısıtlı tablolar ve bu tür şeyler gibi oluşturulan veri nesneleri veya yapıları hakkında konuşuyorum. veri modelleyici kullanılmadan önce, kusurların sayısı aslında aşılıyordu ve o zamana kadar üretilen gerçek nesne sayısı üzerinde bir miktar boşluk oluşturmaya başlamıştı. 21. haftadan sonra, veri değiştirici geldiğinde, veri modelini birkaç şeyi düzeltmek için ne olduğuna göre yeniden düzenledi ve daha sonra proje ekibinin bir parçası olarak modellemeye başladı, bu proje ileriye doğru değişiklikler yapıldı . Ve bir sürat içinde, bir geliştirici çubuğu yerine bir veri modelleme aracından çıktığımız için üretilen ve inşa edilen nesne ve veri yapılarının sayısında büyük bir artış gördüğümüz çok hızlı bir geri dönüş gördünüz. Onları bir ortamda inşa ettiler ve haklıydılar çünkü doğru referans bütünlüğüne ve sahip olması gereken diğer yapılara sahiplerdi. Neredeyse düz çizgilere karşı kusur seviyesi. Bu uygun eylemi gerçekleştirerek ve veri modellemenin tamamen meşgul olduğundan emin olarak, proje çok daha yüksek bir kalite seviyesinde zamanında teslim edildi ve aslında, bu adımlar gerçekleşmemiş olsaydı, hiç teslim etmeyecekti. Dışarıda çok fazla çevik başarısızlık var, doğru insanları doğru rollere dahil ederseniz çok fazla çevik başarı var. Operasyonel bir disiplin olarak büyük bir çevik savunucusuyum, ancak çevik bir tür çabaya devam ederken proje ekipleriniz olarak dahil olan tüm doğru grupların becerilerine sahip olduğunuzdan emin olmanız gerekir.
Özetlemek gerekirse, veri mimarları ve modelcileri tüm geliştirme projelerine dahil edilmelidir; onlar gerçekten her şeyi bir arada tutan bir yapıştırıcıdır çünkü veri modelcileri ve mimarlar olarak anladığımız gibi, sadece verilen geliştirme projesinin veri yapılarını değil, aynı zamanda verilerin kuruluşta nerede bulunduğu ve bu verileri nereden ve nasıl kaynaklayabileceğimizi de üzerinde çalıştığımız uygulamanın dışında kullanılacak ve kullanılacaktır. Karmaşık veri ilişkilerini anlıyoruz ve belgeyi haritalamak ve tam veri ortamınızın nasıl göründüğünü anlamak için ileriye doğru hareket edebilmek ve aynı zamanda bir yönetişim perspektifinden çok önemlidir.
Üretim gibidir; Üretim geçmişinden geldim. Kaliteyi en sonunda bir şeye inceleyemezsiniz - kaliteyi önünüze ve yolunuza devam ettirmeniz gerekir ve veri modelleme bu kaliteyi tasarıma verimli ve uygun maliyetli bir şekilde inşa etmenin bir yoludur. . Ve yine, hatırlanması gereken bir şey - ve bu trit olmak değil, ama gerçek - uygulamalar gelir ve gider, veriler hayati kurumsal varlıktır ve tüm bu uygulama sınırlarını aşar. Bir başvuruya her girdiğinizde, muhtemelen daha önce gelen diğer uygulamaların verilerini korumanız istenir, bu yüzden bunun zaman içinde sürdürdüğümüz hayati bir kurumsal varlık olduğunu hatırlamamız gerekir.
Ve bu kadar! Buradan daha fazla soru alacağız.
Eric Kavanagh: Tamam, güzel, önce Robin'e atalım. Ve sonra, Dez, eminim ki birkaç sorunuz var. Götürün, Robin.
Dr. Robin Bloor: Tamam. Dürüst olmak gerekirse, çevik geliştirme yöntemleri ile hiç bir sorunum olmadı ve bana burada yaptığınız şey mantıklı geliyor. 1980'lerde gerçekten kontrol dışı dönen bir proje açısından karşılaştığınız sorunun normalde belirli bir aşamanın ötesinde bir hatanın devam etmesine neden olduğunu belirten bir şeye baktığımı hatırlıyorum. Eğer o aşamayı doğru bir şekilde anlamazsanız düzeltmek gittikçe zorlaşıyor, bu yüzden burada yaptığınız şeylerden biri - ve bence bu slayt - ama burada yaptığınız şeylerden biri sprint zero olarak, bence, kesinlikle önemlidir, çünkü teslimatları gerçekten orada sabitlemeye çalışıyorsunuz. Eğer teslimat kalemleri sabitlenmezse, teslimatlar şekil değiştirir.
Bu, benim görüşüm. Aynı zamanda benim düşüncem - Veri modellemesini geçmeden önce belirli bir ayrıntı düzeyine getirmeniz gerektiği fikri ile ilgili hiçbir fikrim yok. Denemenizi ve yapmanızı istiyorum, çünkü tam olarak bir anlam alamadım, bu projelerden birini büyüklüğü, nasıl aktığı, kimin, bilirsiniz, sorunlar nerede ortaya çıktı, çözüldü mü? Çünkü bu slaydın hemen hemen kalbi olduğunu ve bununla ilgili biraz daha ayrıntılı bilgi verebilirseniz çok minnettar olurum.
Ron Huizenga: Elbette, birkaç örnek proje kullanacağım. Aslında, doğru insanları dahil ederek ve veri modellemeyi yaparak geri getirilen raylardan çıkan ve her şey tasarımın daha iyi anlaşıldığından ve açık bir şekilde daha iyi uygulama tasarımımız olduğundan emin olmanın bir yoluydu. modelleme yoluyla yol boyunca. Çünkü bunu modellediğinizde, bilirsiniz, DDL'nizi ve her şeyi araçların arkasına ve dışına, insanların genellikle doğrudan bir veritabanı ortamına girerek yapabilecekleri gibi sopa yapmak zorunda kalmadan oluşturabilirsiniz. Ve geliştiricilerle olacak tipik şeyler, oraya gidecekleri ve tamam, bu tablolara ihtiyacım olduğunu söyleyecekler. Diyelim ki sipariş girişi yapıyoruz. Böylece sipariş başlığını ve sipariş detay tablolarını ve bu tür şeyleri oluşturabilirler. Ancak, sık sık yabancı anahtar ilişkilerini temsil etmek için kısıtlamaların bulunduğundan emin olmak için sık sık unutur veya ihmal ederler. Anahtarları doğru olmayabilir. Adlandırma kuralları da şüpheli olabilir. Örneğin, farklı adlara sahip bir grup farklı tablo gördüğünüz bir ortama kaç kez girdiğimi bilmiyorum, ancak daha sonra bu tablolardaki sütun adları ID, Name veya her neyse, Tam olarak ne olduğu tablosu olmadan bağlamı gerçekten kaybettim.
Bu nedenle, tipik olarak veri modelleme yaparken, DDL'de üretilen tüm eserlere uygun adlandırma kurallarını uyguladığımızdan emin olacağız. Ancak projelerin doğası hakkında daha spesifik olmak gerekirse, genel olarak konuşursak, oldukça büyük girişimlerden bahsediyorum. Bunlardan biri, bir düzineden fazla eski sistemin yerini aldığımız 150 milyon dolarlık iş dönüşümü projesiydi. Aynı anda devam eden beş farklı çevik ekibimiz vardı. Tam bir veri mimarisi ekibim vardı, bu yüzden ekibimden diğer uygulama alanı ekiplerinin her birine gömülü veri modelcilerim vardı ve konuyu bilen, işini yapan şirket içi iş uzmanlarının bir kombinasyonuyla çalışıyorduk gereksinimleri için kullanıcı hikayeleri. Faaliyet sürecini veya iş süreç diyagramlarını işleyen modellerden her birinde iş analistleri vardı ve ekibin geri kalanı tarafından tüketilmeden önce kullanıcı hikayelerini kullanıcılarla daha fazla anlamaya yardımcı oldu.
Ve sonra, elbette, uygulama kodunu bunun üzerine inşa eden geliştiriciler. Ve aynı zamanda birlikte çalışıyorduk, bence uygulamanın farklı bölümlerini inşa eden dört farklı sistem entegrasyonu satıcısıydı, bir ekip veri hizmetlerini inşa ediyordu, diğeri bir alanda uygulama mantığı, diğeri uzmanlığa sahipti başka bir iş alanında o alanda uygulama mantığı oluşturuyordu. Bu yüzden bu proje üzerinde çalışan insanlarla tam bir işbirliği yaptık. Bu konuda özellikle takımda kıyıda 150 kişi ve takımda kıyı dışında bu şeyi çıkarmak için iki haftalık sprintlerle işbirliği yapan 150 kaynak vardı. Bunu yapmak için tüm silindirlere ateş ettiğinizden ve herkesin çıktılarının ne olduğu konusunda iyi senkronize olduğundan emin olmanız gerekir ve gerekli tüm eserlerin teslimatlarımızı tamamladığımızdan emin olmak için sık sık sıfırlama yaptınız. her sprint sonunda.
Dr. Robin Bloor: Çok etkileyici. Ve bununla ilgili biraz daha ayrıntılı bilgi için - projenin sonunda tüm veri alanının MDM haritasını eksiksiz, ne diyebilirim?
Ron Huizenga: Tüm farklı iş alanları arasındaki ayrışmayla parçalanan eksiksiz bir veri modelimiz vardı. Veri tanımının tam tanımı açısından sözlüğü biraz kısaldı. Biz tanımlanmış tabloların çoğu vardı; sütunların çoğunu tam olarak ne kastettiklerini tanımladık. Orada olmayanlar vardı ve ilginç bir şekilde, bunların çoğu, eski sistemlerden gelen ve proje kapsamının sona ermesinden sonra hala devam eden bir dizi belge olarak belgelenen eski bilgi parçalarıydı. eserler, projenin kendisinin dışında olduğu için, çünkü ileride organizasyon tarafından sürdürülmesi gereken bir şeydi. Aynı zamanda organizasyon, veri yönetiminin önemi konusunda çok daha fazla bir bakış açısı aldı çünkü bu eski sistemlerde ve belgelenmedikleri için tüketmeye çalıştığımız eski veri kaynaklarında birçok eksiklik gördük. Birçok durumda sadece mühendisleri tersine çevirip orada ne olduğunu ve bilginin ne için olduğunu bulmaya çalıştığımız veritabanlarımız vardı.
Dr. Robin Bloor: Beni şaşırtmıyor, bu özel yönü. Veri yönetişimi, buna modern bir endişe diyelim ve bence, gerçekten, diyelim ki, tarihsel olarak veri yönetişimi üzerinde yapılması gereken çok iş var. Asla öyle değildi çünkü bunu yapmamaktan kurtulabilirsiniz. Ancak veri kaynağı büyüdükçe ve büyüdükçe, sonunda yapamazsınız.
Her neyse, Dez'e geçeceğim çünkü bence ayrılan zamanım vardı. Dez?
Dez Blanchfield: Evet, teşekkür ederim. İzlediğim ve kendime öfkeyle kullanılan çevikliği birçok açıdan görmekten bahsettiğimi düşünüyorum. Olumsuz çağrışımlara sahip olmasına rağmen; Bunu olumlu bir şekilde kastetmiştim. Belki bize sadece bir senaryo verebilir misiniz, yani, bunun mükemmel bir set olduğunu görebildiğim iki yer var: birincisi, ilk günden itibaren yapılması gereken yeni projeler, ama bence her zaman, deneyimlerime göre, genellikle projeler bunun birçok yönden gerekli olduğu kadar büyüdüğünde, iki dünyayı yapıştırmak arasında ilginç bir zorluk var, değil mi? Bir kuruluşa gittiğiniz yerde gördüğünüz bazı başarı öyküleri hakkında bize herhangi bir fikir verebilir misiniz, iki dünya arasında hafif bir çatışmaya sahip oldukları ve başarılı bir şekilde ve büyük projeleri bir araya getirip başka türlü raylara çıkmış olabilirler mi? Bunun çok geniş bir soru olduğunu biliyorum ama sadece belirli bir vaka çalışması olup olmadığını merak ediyorum, bir şekilde, söylediğiniz yere işaret edebilirsiniz, bilirsiniz, hepsini yerine koyduk ve tüm geliştirme ekibini bir araya getirdi veri ekibi ve bir şekilde tekneyi batırmış olabilecek bir şeyi ele aldık?
Ron Huizenga: Tabii, ve aslında bir boru hattı projesi olan bir proje, veri modelleyicisinin dahil edilmesinden önce ve sonra kusurları olan bu grafiği gösterdiğim yerde bahsettiğim projeydi. Oldukça sık, ve önceden düşünülmüş kavramlar var, özellikle işler tamamen gelişim perspektifinden yapıldığı yerde bükülürse, uygulamaları sunmak için bu çevik projelerde yer alan geliştiriciler sadece. Tabii ki, orada olan şey, özellikle raylardan ve özellikle veri yapaylıklarından çıkmış olmaları ya da ürettikleri veri çıktıları, kalite ve genel olarak tüm şeylere hitap etme bakımından işaretin altında kalmıştı. Ve çoğu zaman veri modelcilerinin projeleri yavaşlatacakları ve veri değiştiricinin doğru tutumu yoksa, bu yanlış anlama vardır. Dediğim gibi, kaybetmek zorundasınız - bazen bu geleneksel kapı bekçisi tutumuna sahip, “Veri yapılarının neye benzediğini kontrol etmek için buradayız” ve bu zihniyetin ortadan kalkması gereken veri modelcileri vardır. Çevik geliştirmeye dahil olan herkes ve özellikle veri modelcileri, ekiplerin ilerlemesine gerçekten yardımcı olmak için kolaylaştırıcı rolünü üstlenmelidir. Bunu göstermenin en iyi yolu, takımlara önce değişiklikleri modelleyerek ekiplerin ne kadar verimli olabileceğini çok hızlı bir şekilde göstermektir. Ve yine, bu yüzden işbirliği hakkında konuştum.
İlk olarak modelleyebileceğimiz ve geliştiricilere sunmak için DDL üretebileceğimiz bazı şeyler var. Ayrıca kısıtlanmış gibi hissetmediklerinden emin olmak istiyoruz. Yani, üzerinde çalıştıkları şeyler varsa, geliştirme sanal alanlarında çalışmaya devam etmelerine izin verin, çünkü geliştiricilerin test ettikleri yerde bazı değişiklikler yapmak için kendi masaüstlerinde veya diğer veritabanlarında çalışıyorlar. Onlarla birlikte çalışın ve “Tamam, bununla çalışın” deyin. Bunu araca getireceğiz, çözeceğiz ve sonra ileri doğru itip size güncellemek için kullanabileceğiniz komut dosyalarını vereceğiz. Onları ilerletmeye devam ettikçe, gerçek üretimin gerçek yaptırım görünümüne yükseltecek veritabanları. Ve bunu çok hızlı bir şekilde döndürebilirsiniz. Günlerimin farklı geliştirme ekipleriyle tekrar tekrar ileri sürdüğüm, değişikliklere baktığım, karşılaştırma yaptığım, senaryo oluşturduğum, onları başardığım yerlerle dolu olduğunu gördüm ve bir kez biz kendimi dört geliştirme ekibi ile kolayca takip edebildim bir ivme kazandı.
Dez Blanchfield: Aklıma gelen şeylerden biri, bilirsiniz, günlük bazda yaptığım konuşmaların birçoğu, bize bu makineden gelen, -makine ve IoT. Ve şu anda kuruluştaki mevcut ortamlarımız hakkında çok fazla veriye sahip olduğumuzu düşünürsek, tek boynuzlu atları Google'ın ve Facebook'ların ve Überlerin petabaytlarca veriye sahip olduğunu bildiğimiz bir an için bir kenara bırakırsak, ancak geleneksel bir işletmede hala yüzlerce terabayttan ve bir sürü veriden bahsediyoruz. Ama bence organizasyonlara gelen bu yük treni var ve Dr. Robin Bloor daha önce IoT'den bahsetti. Biliyorsunuz, çok fazla web trafiğimiz var, sosyal trafiğimiz var, şimdi mobilite ve mobil cihazlarımız var, bulut var, bir çeşit patladı, ama şimdi akıllı altyapımız, akıllı şehirlerimiz var ve sadece patlamış olan tüm veri dünyası var.
Günlük bir organizasyon için, orada oturan ve bu acı dünyasını gören orta ve büyük bir organizasyon onlara gelir ve derhal bir plana sahip değildir, bazı ifadelerle, sadece birkaç cümleyle, bu metodolojilerin bir kısmını yerine koymak hakkında konuşmaya ne zaman ve nerede ihtiyaç duydukları konusunda onlara. Neredeyse oturmak ve dikkat etmek için plan yapmaya başlamaya ne kadar erken ihtiyaçları var ve bunun bazı araçları yerleştirmek ve takımı eğitmek ve bu meydan okumadan geçen bir kelime dağarcığı konuşması için doğru zaman olduğunu söylüyorlar? Hikayede ne kadar geç ya da çok erken? Gördüğünüz bazı organizasyonlar için bu neye benziyor?
Ron Huizenga: Çoğu kuruluş için, daha önce yapmadılar ve veri modelleme ve veri mimarisini böyle güçlü araçlarla uyarladılarsa, yapmaları gereken zamanın dün olduğunu söyleyebilirim. İlginçtir ki, bugün bile, kuruluşlardaki verilere baktığınızda, kuruluşlarımızda çok fazla veriye sahibiz ve genel olarak konuşursak, gördüğümüz bazı anketlere dayanarak, bu verilerin yüzde beşinden daha azını etkili bir şekilde kullandığımız Örgütlere baktığımızda. Ve IoT ve hatta NoSQL ile, büyük veri - sadece IoT değil, genel olarak sadece büyük veri olsa bile - şimdi kuruluşlarımızın dışından kaynaklanan daha fazla bilgi tüketmeye başladığımız yerde, bu zorluk gittikçe büyüyor her zaman. Ve bununla başa çıkma şansımızın tek yolu, bu verinin ne hakkında olduğunu anlamamıza yardımcı olmaktır.
Yani, kullanım durumu biraz farklı. Kendimizi yaptığımız şey, bu verilere baktığımızda, onu yakaladığımızda, tersine mühendislik yapmamız, veri göllerimizde ya da şirket içi veritabanlarımızda olsun, bunların ne olduğunu görmemiz gerekiyor, veriler, anlamların ne olduğunu anlayabilmemiz için ona anlam ve tanımları uygulayın. Çünkü ne olduğunu anlayana kadar, onu doğru ya da yeterince kullandığımızdan emin olamayız. Bu nedenle, bu verilerin ne olduğunu ele almamız gerekiyor. Ve bunun diğer kısmı, bunu yapmayın, çünkü tüm bu harici verileri tüketmek için, bu harici verileri tüketmeyi destekleyen bir kullanım durumunuz olduğundan emin olabilirsiniz. Daha sonra ihtiyaç duyabileceğiniz şeyleri çekmeye ve kullanmaya çalışmak yerine ihtiyacınız olan şeylere odaklanın. Öncelikle önemli şeylere odaklanın ve yol boyunca ilerlerken, diğer bilgileri dışarıdan tüketmeye ve anlamaya çalışacaksınız.
Bunun mükemmel bir örneği, IoT ve sensörlerden bahsettiğimizi biliyorum, ancak aynı tür problem aslında IoT'den önce bile birçok kuruluşta yıllardır. Bir üretim kontrol sistemine sahip olanlar, ister boru hattı şirketi olsun, ister imalat, kontrollerle çok fazla otomasyon yaptıkları ve veri akışları ve bunun gibi şeyleri kullanan süreç tabanlı şirketler, anlamaya çalıştıkları bu veri yangın hortumları, üretim ekipmanımda sinyal vermek için meydana gelen olaylar nelerdir - ne oldu ve ne zaman? Ve bu devasa veri akışı arasında, sadece ilgilendikleri, elemek, sentezlemek, modellemek ve anlamak zorunda oldukları belirli bilgi veya etiketler var. Ve gerçekten anlama zamanı gelene kadar geri kalanını görmezden gelebilirler ve daha sonra, eğer mantıklıysa, daha fazla ve daha fazlasını kapsama almak için kapsamlarını genişletebilirler.
Dez Blanchfield: Gerçekten de öyle. Eric adında bir beyefendiden gelen bir soru var ve biz bu konuda özel olarak sohbet ediyoruz. Az önce kendisine verdiği izni sizden istemesini istedim. Çünkü bu güzel bir şekilde sonuçlanıyor, sadece sarmak için, çünkü şimdi biraz zaman içinde gidiyoruz ve Eric'e geri vereceğim. Ancak başka bir Eric'in sorusu, bir girişimin sahiplerinin terminolojiyi modellemedeki benzersiz zorlukları bildiklerini ve anladıklarını varsaymak mantıklı mı yoksa yorum için başka birine teslim edilmeli mi? Yani, başka bir deyişle, bir girişim buna odaklanabilmeli, hazır ve istekli ve istekli olmalı mı? Ya da muhtemelen alışveriş yapmaları ve gemide uzmanları getirmeleri gereken bir şey mi?
Ron Huizenga: Sanırım kısa cevap gerçekten bağlı. Veritabanını gerçekten anlayan bir veri mimarı veya modelleyici olan bir şirket içi olmayan bir başlangıçsa, o zaman başlamanın en hızlı yolu, bu alanda çok iyi ustalaşmış ve alabilecek bir danışmanlık geçmişi olan birini getirmektir. onlar gidiyor. Çünkü bulacağınız - ve aslında, bunu ürün yönetiminde karanlık tarafa gelmeden önce yaptığım birçok işte yaptım - danışman olarak organizasyonlara gidip veri mimarisi ekiplerini yönetecek miyim, böylece kendilerini yeniden odaklayabilirler ve insanlarına bu tür şeyleri nasıl yapacakları konusunda eğitebilirler, böylece onu sürdürürler ve görevi ilerletirler. Ve sonra mantıklı olsaydı, bir sonraki nişanıma devam ederdim. Dışarıda, bunu başarabilecek çok iyi veri deneyimine sahip birçok insan var.
Dez Blanchfield: Bu harika bir paket hizmet noktası ve buna tamamen katılıyorum ve eminim Dr. Robin Bloor da öyle. Özellikle bir başlangıçta, başlangıç işinizin kendisinin bir parçası olarak oluşturmak istediğiniz teklifin belirli bir değeri üzerinde bir KOBİ olmaya odaklandınız ve muhtemelen her konuda uzman olmanıza gerek yok, bu yüzden harika bir tavsiye. Ama çok teşekkür ederim, harika bir sunum. Gerçekten harika cevaplar ve sorular. Eric, sana geri döneceğim çünkü zaman içinde muhtemelen on dakika geçtiğimizi biliyorum ve zaman pencerelerimize yaklaşmayı sevdiğini biliyorum.
Eric Kavanagh: Sorun değil. En az birkaç iyi sorumuz var. Sana bir tane atayım. Sanırım diğerlerinden bazılarını cevapladınız. Ancak, yazan bir katılımcıdan çok ilginç bir gözlem ve soru, bazen çevik projeler, veri modelleyicinin tüm uzun vadeli resme sahip değildir ve bu nedenle sprint birinde bir şey tasarlamak ve sonra sprint üç veya dörtte yeniden tasarlamak zorunda kalırlar. Bu verimsiz gözükmüyor mu? Bu tür şeylerden nasıl kaçınabilirsiniz?
Ron Huizenga: Belirli bir süratle her şeyi kesinlikle doğru yapmayacağınız sadece çevikliğin doğasıdır. Ve bu aslında çeviklik ruhunun bir parçası, şudur: onunla çalışın - belirli bir süratte kod üzerinde çalıştığınız yerde prototipleme yapacaksınız ve ona ayrıntılar yapacaksınız. Ve bu sürecin bir parçası, son kullanıcının gördüğü şeyleri teslim ederken ve “Evet, bu yakın, ama gerçekten de bunu biraz daha fazla yapmasını istiyorum” diyor. Böylece, sadece fonksiyonel tasarımı etkilemekle kalmıyor. ancak genellikle kullanıcının istediklerini sağlamak için bu belirli şeylerin altına daha fazla veri yapısını değiştirmemiz veya eklememiz gerekir. Ve hepsi bu kadar adil bir oyun ve bu yüzden yüksek güçlü araçları gerçekten kullanmak istiyorsunuz, çünkü bir modelleme aracında bu değişikliği çok hızlı bir şekilde modelleyebilir ve yapabilir ve ardından geliştiricilerin bunu sağlamak için çalışabileceği veritabanı için DDL oluşturabilirsiniz. daha hızlı bir şekilde değişir. Onları veri yapılarında olduğu gibi bu el kodlamasını yapmaktan kurtarıyorsunuz ve en yetenekli oldukları programlama veya uygulama mantığına konsantre olmalarına izin veriyorsunuz.
Eric Kavanagh: Bu tam mantıklı. Tüm bunların araca nasıl bağlandığı hakkında belirli sorular soran birkaç kişimiz vardı. Örnekleri incelemek için biraz zaman harcadığınızı biliyorum ve bu şeylerden bazılarını nasıl ortaya koyduğunuzla ilgili bazı ekran görüntüleri gösteriyorsunuz. Tüm bu sprint süreci açısından, organizasyonlarda oyunda ne sıklıkta görüyorsunuz, bununla birlikte, şeylerin sadece bir çeşit, birlikte ilerlediği ve daha fazla zaman aldığı daha geleneksel süreçleri ne sıklıkta görüyorsunuz? Sprint tarzı yaklaşım sizin açınızdan ne kadar yaygın?
Ron Huizenga: Sanırım bunu giderek daha fazla görüyoruz. Muhtemelen son 15 yılda, daha hızlı teslimatı gerçekten benimsemeleri gerektiğini kabul eden insanların benimsenmesini çok daha fazla gördüğümü biliyorum. Bu yüzden gittikçe daha fazla organizasyonun çevik bandwagon'a atladığını gördüm. Tamamen değil; işe yaradığını kanıtlamak için birkaç pilot projeyle başlayabilirler, ancak hala çok geleneksel olan ve şelale yöntemine sadık kalan bazı projeler var. Şimdi, iyi haber, elbette, araçların bu kuruluşlarda da bu tür metodolojiler için çok iyi çalıştığı, ancak araçta uyumluluğa sahibiz, böylece gemide atlama yapanların araç kutusundaki araçlara sahip olmaları parmaklarınızın ucunda. Karşılaştırma ve birleştirme gibi şeyler, tersine mühendislik özellikleri gibi şeyler, böylece mevcut veri kaynaklarının ne olduğunu görebilirler, böylece artımlı DDL komut dosyalarını çok hızlı bir şekilde karşılaştırabilir ve oluşturabilirler. Ve bunu benimsemeye ve üretkenliğe sahip olabileceklerini gördükçe, çevikliği benimseme eğilimleri daha da artar.
Eric Kavanagh: Bu harika şeyler, millet. Sadece sohbet penceresindeki slaytlara bir bağlantı gönderdim, bu yüzden kontrol edin; orada sizin için biraz Bitly. Daha sonra izlemek için tüm bu web yayınlarına sahibiz. Onları arkadaşlarınızla ve iş arkadaşlarınızla paylaşmaktan çekinmeyin. Ve Ron, bugün zaman ayırdığınız için çok teşekkür ederim, şovda bulunmaktan her zaman memnunsunuz - bu alanda gerçek bir uzman ve eşyalarınızı bildiğiniz açık. Bu nedenle, teşekkürler ve IDERA ve tabii ki Dez ve kendi Robin Bloor'a teşekkürler.
Ve bununla vedalaşacağız millet. İlginiz ve zamanınız için tekrar teşekkürler. 75 dakika boyunca uğraştığınız için teşekkür ederiz, bu oldukça iyi bir işaret. İyi şovlar beyler, bir dahaki sefere seninle konuşacağız. Güle güle.