7 puan yazan evisdrenova 2024-05-09 | Henüz yorum yok. | WhatsApp'ta paylaş

Merhaba Hada News okuyucuları, Neosync'i duyurmaktan mutluluk duyuyoruz!

Neosync, geliştiricilerin gizlilik veya güvenlik riski olmadan yerel test, hata ayıklama ve geliştirici deneyimini iyileştirmek için üretim verisinin anonimleştirilmiş ve sentetik sürümlerini oluşturmasına yardımcı olan açık kaynak bir platformdur.

Çoğu geliştirici ve ekibin, yerel ve staging veritabanları için bazı sahte veriler üreten veritabanı seed script'leri vardır. Geliştiricilerden duyduğumuz sorun şu: yerelde özellikler düzgün çalışıyor gibi görünse de, üretim verisini temsil etmeyen seed verileri nedeniyle üretimde hatalar ve istisnai durumlar ortaya çıkıyor. İkinci sorun ise, üretimde bir hatayı debug ederken üretime yakın veri elde etmenin iyi bir yolunun olmamasıydı.

Üretim verisini doğrudan kullanmak bu sorunları çözebilir, ancak çoğu ekip bunu 1. gizlilik/güvenlik sorunları ve 2. ölçek nedeniyle kullanamıyor.

Bu yüzden Neosync ile bu iki sorunu çözmeye koyulduk.

Gizlilik ve güvenlik sorunlarını anonimleştirme ve sentetik veri kullanarak çözüyoruz. 40'tan fazla hazır transformer'ı kullanarak (veya bunları doğrudan kodla yazarak) PII ya da hassas verileri anonimleştirip bunları yerelde güvenle kullanabilirsiniz. Ayrıca veriyi anonimleştirmek yerine, sıfırdan üretim verisi gibi görünen ve veritabanının mevcut şemasına uyarlanmış sentetik veri de üretebilirsiniz.

İkinci sorun ölçek. Bazı üretim veritabanları yerelde sığmayacak kadar büyük veya gerekenden fazla veri içeriyor. Ayrıca bazen belirli bir müşterinin verisini debug etmek isteyebilirsiniz ve yalnızca onun verisini filtrelemenin bir yoluna ihtiyaç duyarsınız. Bunu subset alma ile çözüyoruz. Tabloları filtrelemek için bir SQL sorgusu ilettiğinizde, tüm karmaşık işleri Neosync halleder.

Neosync'in temelinde, referans bütünlüğünü ele alma yeteneği vardır. İlişkisel veritabanlarıyla çalışırken birincil anahtarlar, yabancı anahtarlar, benzersiz kısıtlamalar, tablo içi ve tablolar arası döngüsel bağımlılıklar, sequence'lar ve daha fazlası bulunur.

Bu nedenle, ister veriyi anonimleştiriyor ister sentetik veri üretiyor olun, bu kısıtları ve ilişkileri korumanın bir yoluna ihtiyacınız vardır; aksi halde şema bozulur.

Neosync bunu şeffaf biçimde ele alır. Yabancı anahtarların bozulması, eşleme gerektiren yeni sütunlar, null olmayan yabancı anahtarlar gibi kısıt sorunları ortaya çıkarsa size bildirir; böylece müdahale edip düzeltebilirsiniz.

Nasıl çalıştığı şöyle:

  1. Kaynak ve hedef veritabanlarını bağlayın.

  2. İş türünü tanımlayın ve bunu bir takvime göre çalıştırıp çalıştırmayacağınıza karar verin. Senkronizasyon işleri veriyi kaynaktan hedefe senkronize eder; veri üretim işleri ise sentetik veriyi sıfırdan üretip hedefe stream eder.

  3. Senkronize edilecek ve dönüştürülecek şema ve tabloları tanımlayın. Sütun düzeyinde veriyi nasıl anonimleştireceğinizi veya sentetik veri nasıl üreteceğinizi belirleyen transformer'ları seçebilir ya da hedef veritabanındaki veriyi üretmek için AI tarafından oluşturulmuş sentetik veriyi kullanabilirsiniz.

  4. Son olarak bir subset tanımlayabilirsiniz. Bu, hedefe gönderilen veriyi filtreleme yöntemidir. Bunun için özel SQL sorguları veya filtreler sağlayabilirsiniz.

Hepsi bu kadar! İşler, belirlediğiniz takvime göre çalışır. Tüm veritabanı genelinde retry, backoff ve referans bütünlüğünü biz ele alıyoruz. Ayrıca API, CLI ve Github işleri sunuyoruz; böylece CI pipeline'larında CI veritabanlarını doldurmak için Neosync'i kullanabilirsiniz.

Neosync, Go ve Typescript ile yazılmış açık kaynak bir projedir ve Helm veya Docker compose ile çalıştırılabilir. Ayrıca barındırılan bir platform da sunuyoruz ve cömert bir ücretsiz katmandan yararlanabilirsiniz.

Geri bildirimlerinizi bekliyoruz; katkılarınızı da her zaman memnuniyetle karşılıyoruz.

Henüz yorum yok.

Henüz yorum yok.