Güçlü ve ayakta kalan kurumlar bilgiyi iyi organize eden ve yöneten organizasyonlardır. İngiliz filozof francis bacon‘in meşhur sözü ve george orwell‘ın 1984 isimli romanında savunduğu fikrin ana temasını oluşturan kavram “BİLGİ” dir.
FileMaker Uygulamalarınız daki yavaşlık sorunu ve çözüm önerisi
Cache (Önbellek) yöntemiyle Layoutlarınızın yüklenme süresini ve Rapor alma sürelerinizi hızlandırın.
FileMaker uygulama geliştiricilerinin kâbusu olan sorular, “Bir raporu oluşturmak bu kadar mı uzun sürüyor?” veya “Bu bir layoutun yüklenmesi neden bu kadar uzun?” Bu soruların en büyük nedeni, FileMaker oluşturduğunuz field yani alanların verimsiz bir şekilde ayarlanmış olmasıdır. Kısaca, Layout üzerinde “Unsorted” calculation veya “summary” alanlarınız olmasıdır.
Adların da anlaşılacağı gibi, üzerinde “Unsorted” calculation veya “summary” alanları içlerinde herhangi bir veri depolamaz. Fieldlar yani alanlar her görüntülendiğinde verileri hesaplama ihtiyacı duyarlar. Uygulamanızın kısa vade de işlevsel çalışmasını sağlamak için “Unsorted” calculation veya “summary” alanlarını kullanmak daha kolay olabilir, ancak bu, Uygulamanızın uzun vadede veya yüksek veri yoğunluğunda çalışmasını engelleyecektir. İyi haber şu ki, Verileri Cache e yani önbelleğe alma yöntemiyle FileMaker uygulamalarınızdaki performans sorununu çöze bilirsiniz.
Bir Örnekle durum açıklamaya çalışalım.
Diyelim ki Faturalar ve Fatura Liste tablosu olan bir veri tabanımız var. Fatura Listeleri tablosunda Toplam ve Ara Toplam adlı iki alanımız var. Toplam alanı Miktar * Fiyat formülüne sahip Calculation bir alan olsun. Ara Toplam ise Fatura Listesi tablomuzda bir de fatura içerisindeki Toplam alanının toplamı (özeti) olan bir alanı olsun. Fatura Layoutuna her girdiğinizde, FileMaker’ın tüm Fatura Satırı Toplamlarının sonuçlarını oluşturması ve ardından bu sonuçları toplaması için ciddi zaman gerekir.
Bu durum kayıt sayınız az olduğunda çok fazla sorun teşkil etmez, ancak 10.000, 100.000 hatta 1 milyon kaydınızın olduğunu hayal edin! Rapor sonucu beklerken, Güldür Güldürün bir skecini izleyecek kadar zamanınızı olabilir.
Gördüğünüz gibi, bu basit bir hesaplama olmasına rağmen çok zahmetli (yani zaman alan) bir süreç olma potansiyeline sahiptir. Şimdi, biraz beyin fırtınası yapalım ve yıllar içinde edindiğimiz tecrübelerin meyvesini yemeye başlayalım, komşuda pişer biraz size düşer, hadi paylaşmaya başlayalım.
Muhtemelen, rapor ve işlevsellik için toplam alanlara ihtiyacınız olduğunu düşünüyorsunuz. Ve haklısınız da peki çözümü nedir, ne yapabilirim? Verilerinizi Cahce leyin yani önbelleğe alın! Önbelleğin tanımı “ihtiyacımız olan verileri ileride kullanılmak üzere ara bir yerde daha hızlı ulaşmak için saklamaktır.” Bilgisayarlardaki RAM ler gibi. İşlemcinin ihtiyaç duyabileceği verileri yavaş olan HDD alıp önbelleğe yani RAM almak gibi. İleride raporları ve veri getirimini hızlı çalıştırabilmek için verilerinizi cache alalım.
FileMaker uygulamalarımızın performansını arttırmak için yukarıdaki örneğimizde gerekli değişiklikleri yapalım.
Fatura listesindeki Toplam alanının teyp seçeneğini Calculation yerine Number (sayıya) yapın. Toplam alanının özelliklerinden “Auto-Enter Calculated value” seçeneğini kullanın. Alanın Calculated özelliğine Miktar*Fiyat ekleyin OK diyerek kaydedin. Miktar veya Fiyat her değiştiğinde yeniden hesaplanması için “Alanın mevcut değerini (varsa) değiştirmeyin İngilizcesi Do not replace existing value of field (if any)” seçeneğinin işaretli olmadığından emin olun. Bu, sorunun yarısını çözer, ancak Fatura Alt Toplamını değiştirmek biraz daha karmaşıktır.
Fatura satırı Alt Toplam için aynı değişiklikleri yaparsanız dahi Alt Toplam’ın, Fatura Listesindeki Miktar ve Fiyat her değiştiğinde bunun yeniden hesaplanmadığını fark edeceksiniz. Referans verilen alan başka bir tabloda olduğundan, “Auto-Enter Calculated value” yeniden hesaplanmayacaktır. Bu sorunu aşmak için biraz scirpt kullanmamız gerekecek. Fatura Ara Toplamımızı hesaplayacak Miktar ve Fiyat alanlarının OnObjectSave Set Script Triggers tetikleyicisine bir script ekleyebiliriz. Miktar ve Fiyat alanlarınızı değiştirdiğinizde veya bir fatura satırını sildiğinizde Fatura Alt Toplamını da güncellediğinizden emin olmalısınız.
Tetikleme Scripti ;
Set Field [ FATURA::Alt_Toplam; Sum (Fatura Listesi::Toplam)
Tebrikler, verilerinizi önbelleğe aldınız ve FileMaker veritabanınızın performansını artırdınız! Raporlarınızın şimdi ne kadar hızlı oluşturulduğunu görün. Bir developer olarak, verileri önbelleğe almayı iyi bir yöntem olarak görüyorum. Amacımız müşteriler tarafından istenen özellikleri oluşturmak değil, aynı zamanda mümkün olduğunca verimli bir şekilde kullanmalarını sağlamaktır.
-Bilgi rekabette %100 başarı getirir.
-Kurumsal hafızanızı düzenli tutmuyorsanız aynı günü tekrar ediyorsunuzdur.
-Karar almada bilginin önemi %90 dır.
-Bilgi personellerin kafasında ise o gidince yanlız kalırsınız.
-Arşivini kaybeden kurumların %70 bir yıl içerisinde batmışlardır.