Ana içeriğe geç

Veritabanlarını Senkronize Etme ve Tarama

Patrona, veritabanınızla güncel kalmak için farklı türde sorgular çalıştırır.

  • Senkronizasyonlar, Veri Tarayıcı'da görüntülemek için güncellenmiş şemaları alır.
  • Taramalar, filtre açılır menülerini doldurmak ve yardımcı görselleştirmeler önermek için sütun değerlerinin örneklerini alır. Patrona, veritabanınızdan tam tabloları saklamaz.
  • Parmak izi çıkarma, çubuk grafikler için otomatik bölme gibi akıllı davranışlara yardımcı olmak için ek bir sütun değeri örneği alır.

İlk senkronizasyon, tarama ve parmak izi çıkarma

Patrona ilk kez veritabanınıza bağlandığında, tablolarınızdaki sütunların meta verilerini belirlemek ve her sütuna otomatik olarak bir semantik tür atamak için bir senkronizasyon gerçekleştirir. Senkronizasyon başarılı olduktan sonra Patrona, URL'leri, JSON'u, kodlanmış dizeleri vb. aramak için her tablonun taramalarını çalıştırır. Parmak izi çıkarma sorguları, senkronizasyonlar tamamlandıktan sonra çalışır.

Bu sorguların ilerlemesini Yönetici > Sorun Giderme > Günlükler bölümünden takip edebilirsiniz.

Sorgular çalışmayı bitirdikten sonra, senkronize edilen meta verileri Yönetici ayarları > Tablo Meta Verileri bölümünden görüntüleyebilir ve düzenleyebilirsiniz. Daha fazla bilgi için meta verileri düzenleme bölümüne bakın.

Patrona'nın ne zaman senkronize edeceğini ve tarayacağını seçin

Senkronizasyon ve tarama sorguları için varsayılan programı değiştirmek istiyorsanız:

  1. Yönetici > Veritabanları > veritabanınıza gidin.
  2. Gelişmiş seçenekleri göster'i genişletin.
  3. Senkronizasyonların ve taramaların ne zaman gerçekleşeceğini seçin'i AÇIK konuma getirin.

Veritabanı senkronizasyonlarını zamanlama

Senkronizasyonların ve taramaların ne zaman gerçekleşeceğini seçin'i açtıysanız, şunları ayarlayabileceksiniz:

  • Senkronizasyon sıklığı: saatlik (varsayılan) veya günlük.
  • Senkronizasyonun çalıştırılacağı saat, Patrona uygulamanızın çalıştığı sunucunun saat diliminde.

Veritabanı taramalarını zamanlama

Senkronizasyonların ve taramaların ne zaman gerçekleşeceğini seçin'i AÇIK konuma getirdiyseniz, aşağıdaki tarama seçeneklerini göreceksiniz:

  • Düzenli olarak, bir zamanlamaya göre, veritabanınızdaki değişiklik oranına uyan bir sıklıkta tarama sorguları çalıştırmanıza olanak tanır. Saat, Patrona uygulamanızın çalıştığı sunucunun saat diliminde ayarlanır. Bu, küçük bir veritabanı veya sık sık güncellenen farklı değerlere sahip tablolar için en iyi seçenektir.
  • Yalnızca yeni bir filtre widget'ı eklerken, tarama sorgularının isteğe bağlı olarak çalışmasını istiyorsanız harika bir seçenektir. Bu seçeneği AÇIK konuma getirmek, Patrona'nın yalnızca bir panoya veya SQL sorusuna yeni bir filtre eklendiğinde kullanılan alan(lar)ın değerlerini tarayacağı ve önbelleğe alacağı anlamına gelir.
  • Asla, gerekirse bunu manuel olarak yapacağım, ya çok büyük olan ya da asla gerçekten yeni değerler eklenmeyen veritabanları için bir seçenektir. Manuel bir tarama çalıştırmak ve filtre değerlerinizi güncel hale getirmek için Alan değerlerini şimdi yeniden tara butonunu kullanın.

Tabloları ve sütunları manuel olarak senkronize etme

  1. Yönetici ayarları > Veritabanları > veritabanınıza gidin.
  2. Veritabanı şemasını şimdi senkronize et'i tıklayın.

Sütun değerlerini manuel olarak tarama

Bir tablodaki tüm sütunlardaki değerleri taramak için:

  1. Yönetici ayarları > Tablo Meta Verileri > veritabanınıza gidin.
  2. Veritabanınızla güncel hale getirmek istediğiniz tabloyu seçin.
  3. Sayfanın üst kısmındaki dişli simgesini tıklayın.
  4. Bu tabloyu yeniden tara'yı tıklayın.

Belirli bir sütundaki değerleri taramak için:

  1. Yönetici ayarları > Tablo Meta Verileri > veritabanınıza gidin.
  2. Tabloyu seçin.
  3. Veritabanınızla güncel hale getirmek istediğiniz sütunu bulun.
  4. O sütunun panelindeki dişli simgesini tıklayın.
  5. Bu alanı yeniden tara'yı tıklayın.

Bir tablo veya alan için önbelleğe alınmış değerleri temizleme

Bir tablo için taranan alan değerlerini temizlemek için:

  1. Yönetici ayarları > Tablo Meta Verileri'ne gidin.
  2. Veritabanını ve tabloyu seçin.
  3. Sağ üst köşedeki dişli simgesini tıklayın.
  4. Önbelleğe alınmış alan değerlerini at'ı tıklayın.

Ayrıca, bir alandaki dişli simgesini tıklayıp Önbelleğe alınmış alan değerlerini at'ı tıklayarak Patrona'ya tek tek alanlar için önbelleğe alınmış değerleri unutmasını söyleyebilirsiniz.

Belirli tablolar için senkronizasyonu ve taramayı devre dışı bırakma

Patrona'nın belirli bir tabloya karşı senkronizasyon ve tarama çalıştırmasını önlemek için tablo görünürlüğünü Gizli olarak değiştirin:

  1. Yönetici ayarları > Tablo Meta Verileri > veritabanınıza gidin.
  2. Kenar çubuğunda tablo adının üzerine gelin.
  3. Göz simgesini tıklayın.

Bir tabloyu gizlemek, sorgu oluşturucuda ve veri referansında görünmesini de engelleyecektir. Kişiler yine de SQL düzenleyicisinden gizli tabloları sorgulayabilir.

API'yi kullanarak senkronize etme ve tarama

Patrona düzenli olarak senkronize eder ve tarar, ancak veritabanı yöneticisi veritabanı şemasını yeni değiştirdiyse veya belirli zamanlarda çok fazla veri otomatik olarak eklenirse, bir senkronizasyonu veya taramayı zorlamak için Patrona API'sini kullanan bir komut dosyası yazmak isteyebilirsiniz. API'miz, bir veritabanının senkronizasyonunu veya taramasını başlatmanın iki yolunu sunar:

  1. Bir oturum belirteci kullanarak: /api/database/:id/sync_schema veya api/database/:id/rescan_values uç noktaları. Bu uç noktalar, Yönetici Panelinde veritabanına gitmek ve sırasıyla Veritabanı şemasını şimdi senkronize et veya Alan değerlerini şimdi yeniden tara'yı seçmekle aynı şeyleri yapar. Bu uç noktaları kullanmak için bir kullanıcı kimliğiyle kimlik doğrulaması yapmanız ve isteğinizin başlığında bir oturum belirteci geçirmeniz gerekir.
  2. Bir API anahtarı kullanarak: /api/notify/db/:id. Bu uç noktasını, kişilerin bir ETL işlemi bittikten sonra Patrona'larını senkronize etmeleri için oluşturduk. Bu uç noktayı kullanmak için MB_API_KEY ortam değişkenini tanımlayarak bir API anahtarı geçirmeniz gerekir.

Veritabanı senkronizasyonları nasıl çalışır

Bir Patrona senkronizasyonu, veritabanınızdan güncellenmiş tablo ve görünüm adlarının, sütun adlarının ve sütun veri türlerinin bir listesini alan bir sorgudur:

SELECT
TRUE
FROM
"sizin_semaniz"."sizin_tablonuz_veya_gorunumunuz"
WHERE
1 <> 1
LIMIT 0

Bu sorgu, kurulum sırasında ve varsayılan olarak her saat başı veritabanınıza karşı çalışır. Bu tarama sorgusu, çoğu ilişkisel veritabanıyla hızlıdır, ancak MongoDB ve bazı topluluk tarafından oluşturulmuş veritabanı sürücüleriyle daha yavaş olabilir. Senkronizasyon tamamen kapatılamaz, aksi takdirde Patrona çalışmaz.

Veritabanı taramaları nasıl çalışır

Bir Patrona taraması, her tablodan ilk 1.000 farklı kayda artan sırada bakarak filtre açılır menüleri için sütun değerlerini önbelleğe alan bir sorgudur:

SELECT
"sizin_tablonuz_veya_gorunumunuz"."sutun" AS "sutun"
FROM
"sizin_semaniz"."sizin_tablonuz_veya_gorunumunuz"
GROUP BY
"sizin_tablonuz_veya_gorunumunuz"."sutun"
ORDER BY
"sizin_tablonuz_veya_gorunumunuz"."sutun" ASC
LIMIT 1000

Her kayıt için Patrona yalnızca ilk 100 kilobayt metni depolar, bu nedenle her biri 1.000 karakterli (adresler gibi) verileriniz varsa ve sütununuzda 100'den fazla benzersiz adres varsa, Patrona yalnızca tarama sorgusundan ilk 100 değeri önbelleğe alır.

Önbelleğe alınmış sütun değerleri, filtre açılır menülerinde görüntülenir. Kişiler, ilk 1.000 farklı kayıtta veya 100kB metinde bulunmayan değerler için filtre arama kutusuna yazarsa, Patrona bu değerleri anında aramak için veritabanınıza karşı bir sorgu çalıştırır.

Bir tarama, bir senkronizasyon sorgusundan daha yoğundur, bu nedenle yalnızca kurulum sırasında bir kez ve varsayılan olarak günde bir kez çalışır. Taramaları tamamen devre dışı bırakırsanız, manuel taramalar çalıştırarak işleri güncel hale getirmeniz gerekir.

Patrona'nın bağlı veritabanınızla güncel kalmak için taraması gereken tablo ve alan sayısını azaltmak için Patrona, yalnızca son on dört gün içinde birinin sorguladığı alanların değerlerini tarayacaktır.

Tabloları periyodik olarak yeniden parmak iziyle çıkarma

Periyodik yeniden parmak izi çıkarma, veritabanınızdaki yükü artıracaktır.

Varsayılan olarak Patrona, yalnızca veritabanınızı ilk bağladığınızda parmak izi çıkarma sorgularını çalıştırır.

Patrona'nın kullanıcı arayüzünde önerilerde bulunurken daha büyük sütun değeri örnekleri kullanmasını istiyorsanız bu ayarı AÇIK konuma getirin:

  1. Yönetici > Veritabanları > veritabanınıza gidin.
  2. Gelişmiş seçenekleri göster'i genişletin.
  3. Tabloları periyodik olarak yeniden parmak iziyle çıkar'ı AÇIK konuma getirin.

Veritabanı parmak izi çıkarma nasıl çalışır

Parmak izi çıkarma sorgusu, veritabanınızdaki belirli bir tablo veya görünümden ilk 10.000 satıra bakar:

SELECT
*
FROM
"sizin_semaniz"."sizin_tablonuz_veya_gorunumunuz"
LIMIT 10000

Bu sorgunun sonucu, Patrona kullanıcı arayüzünde (filtre açılır menüleri ve otomatik bölme gibi) daha iyi öneriler sağlamak için kullanılır. Veritabanınızda zorlanmayı önlemek için Patrona, parmak izi çıkarma sorgularını yalnızca bir veritabanı bağlantısını ilk kurduğunuzda çalıştırır. Bu varsayılanı değiştirmek için Tabloları periyodik olarak yeniden parmak iziyle çıkar'ı AÇIK konuma getirebilirsiniz.

Daha fazla okuma

Patrona, senkronizasyon ve tarama işlemi sırasında herhangi bir önbelleğe alma veya hız sınırlaması yapmaz. Verilerinizin eksik veya güncel olmadığı görünüyorsa, şunları kontrol edin: