Yardım (BLOB) 36 bytes nedir? Character Logs

  • Konuyu açan Konuyu açan darkbloodly
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 10
  • Gösterim Gösterim 165
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

darkbloodly

Üye
Üye
Mesaj
65
Çözümler
2
Beğeni
23
Puan
74
Ticaret Puanı
0
Merhaba, dracarys kill statistics sistemini kurdum

DB'ye sadece
1735822861535.webp
bunu ekledim ve tüm istatistikleri logluyor, bu nasıl bir algoritma? Mantığı nedir, aşırı ilginç geldi. ve bu veriler nerede tutuluyor tam olarak
 
Merhaba, dracarys kill statistics sistemini kurdum

DB'ye sadece 20931 eklentisini görüntüle bunu ekledim ve tüm istatistikleri logluyor, bu nasıl bir algoritma? Mantığı nedir, aşırı ilginç geldi. ve bu veriler nerede tutuluyor tam olarak

Bu soruda Dracarys kill statistics sistemi ile ilgili verilerin nasıl kaydedildiği ve çalıştığı merak ediliyor. Sorunun odak noktası, verilerin BLOB (Binary Large Object) formatında saklanması ve bunun altında yatan algoritma. Şimdi bu konuyu açıklayalım:


1. Kill Log’un BLOB Formatında Saklanması

  • BLOB (Binary Large Object), bir veritabanında büyük boyutlu ikili (binary) verileri saklamak için kullanılan bir veri türüdür. Bu, genellikle metin yerine sıkıştırılmış veya ham (binary) veriler için kullanılır.
  • Dracarys gibi oyun sistemlerinde, istatistik verileri (örneğin öldürme sayısı, hedef kimlikleri vb.) daha az yer kaplaması ve daha hızlı işlenmesi için genellikle sıkıştırılmış veya ikili veri formatında saklanır.

2. Algoritma Mantığı

Bu sistemin çalışma mantığını adım adım açıklayalım:

a) Verilerin Kaydedilmesi

  • Oyunda bir oyuncu başka bir oyuncuyu öldürdüğünde, sistem bir kill event oluşturur.
  • Bu event, öldüren oyuncunun kimliği (killer ID), öldürülen oyuncunun kimliği (victim ID), öldürmenin zamanı ve diğer bilgiler gibi istatistikleri içerir.
  • Tüm bu bilgiler binary formata dönüştürülerek, bir BLOB sütununda saklanır.

b) Verilerin Sıkıştırılması

  • Veriler genellikle zlib, protobuf veya benzeri bir sıkıştırma algoritması ile sıkıştırılarak veritabanında daha az yer kaplar.
  • Sıkıştırma sayesinde veri okunabilir bir metin (JSON veya XML gibi) yerine ikili formatta saklanır, bu da veritabanındaki işlem yükünü azaltır.

c) Logların Birleştirilmesi

  • Sistem, öldürme istatistiklerini tek bir veri kümesi (BLOB) içinde birleştirir. Bu, veritabanı sorgularını azaltmak ve performansı artırmak için yapılır.
  • Örneğin, bir oyuncunun 10 öldürme istatistiği tek bir BLOB olarak saklanır. Bu, her öldürme için ayrı bir satır eklemek yerine verimliliği artırır.

d) Verilerin Okunması

  • Sistem, bir oyuncunun öldürme istatistiklerine ihtiyaç duyulduğunda, BLOB verisini çözümler (decode eder) ve okunabilir bir formata dönüştürür.
  • Örneğin, çözümlenen veriler bir JSON objesi veya yapılandırılmış bir dizi olabilir:
    JSON:
    Genişlet Daralt Kopyala
    {
        "kills": [
            {"victim_id": 1001, "timestamp": 1672531200},
            {"victim_id": 1002, "timestamp": 1672534800}
        ]
    }

3. Bu Veriler Nerede Tutuluyor?

  • Veritabanında Saklanır:
    İstatistikler, oyuncu verilerini saklayan bir tablonun bir sütununda tutulur. Örneğin:
    • Tablo: player_statistics
    • Sütun: kill_log (BLOB formatında)
  • Bellekte Geçici Saklama:
    Aktif oyuncuların öldürme istatistikleri bazen veritabanına sürekli sorgu yapılmasını önlemek için sunucunun belleğinde (RAM) geçici olarak tutulabilir.

4. Verilere Nasıl Erişilir?

Bu tür veriler genelde şu şekilde işlenir:

a) Okuma İşlemi

  • BLOB verisi okunur ve sıkıştırma algoritmasıyla açılır (örneğin, zlib ile decompress edilir).
  • Veriler okunabilir bir formata (JSON, XML, vb.) dönüştürülür.

b) Yazma İşlemi

  • Yeni bir öldürme bilgisi eklendiğinde, mevcut BLOB verisi çözülür, güncellenir ve tekrar sıkıştırılarak veritabanına yazılır.

5. Bu Algoritmanın Avantajları

  • Depolama Optimizasyonu: Sıkıştırma sayesinde daha az yer kaplar.
  • Performans: Tek bir sütunda büyük miktarda veri saklandığı için sorgu işlemleri hızlıdır.
  • Esneklik: İkili format kullanıldığı için veri yapısı kolayca değiştirilebilir.

Sonuç

Dracarys kill statistics sisteminde kullanılan BLOB formatı, öldürme istatistiklerini sıkıştırılmış ve optimize edilmiş bir biçimde saklamayı sağlar. Bu sistemin mantığı:

  1. Verileri sıkıştırarak tek bir sütunda saklama,
  2. İhtiyaç halinde veriyi çözerek kullanılabilir hale getirme,
  3. Performans ve depolama avantajı sağlamaktır.
Eğer bu veriyi çözümlemek veya daha fazla bilgi almak istersen, kullanılan sıkıştırma algoritmasını ve veritabanı yapısını öğrenmek faydalı olacaktır. 😊

Fırtınalı günlere,
OnyxAlem
 
Bu soruda Dracarys kill statistics sistemi ile ilgili verilerin nasıl kaydedildiği ve çalıştığı merak ediliyor. Sorunun odak noktası, verilerin BLOB (Binary Large Object) formatında saklanması ve bunun altında yatan algoritma. Şimdi bu konuyu açıklayalım:


1. Kill Log’un BLOB Formatında Saklanması

  • BLOB (Binary Large Object), bir veritabanında büyük boyutlu ikili (binary) verileri saklamak için kullanılan bir veri türüdür. Bu, genellikle metin yerine sıkıştırılmış veya ham (binary) veriler için kullanılır.
  • Dracarys gibi oyun sistemlerinde, istatistik verileri (örneğin öldürme sayısı, hedef kimlikleri vb.) daha az yer kaplaması ve daha hızlı işlenmesi için genellikle sıkıştırılmış veya ikili veri formatında saklanır.

2. Algoritma Mantığı

Bu sistemin çalışma mantığını adım adım açıklayalım:

a) Verilerin Kaydedilmesi

  • Oyunda bir oyuncu başka bir oyuncuyu öldürdüğünde, sistem bir kill event oluşturur.
  • Bu event, öldüren oyuncunun kimliği (killer ID), öldürülen oyuncunun kimliği (victim ID), öldürmenin zamanı ve diğer bilgiler gibi istatistikleri içerir.
  • Tüm bu bilgiler binary formata dönüştürülerek, bir BLOB sütununda saklanır.

b) Verilerin Sıkıştırılması

  • Veriler genellikle zlib, protobuf veya benzeri bir sıkıştırma algoritması ile sıkıştırılarak veritabanında daha az yer kaplar.
  • Sıkıştırma sayesinde veri okunabilir bir metin (JSON veya XML gibi) yerine ikili formatta saklanır, bu da veritabanındaki işlem yükünü azaltır.

c) Logların Birleştirilmesi

  • Sistem, öldürme istatistiklerini tek bir veri kümesi (BLOB) içinde birleştirir. Bu, veritabanı sorgularını azaltmak ve performansı artırmak için yapılır.
  • Örneğin, bir oyuncunun 10 öldürme istatistiği tek bir BLOB olarak saklanır. Bu, her öldürme için ayrı bir satır eklemek yerine verimliliği artırır.

d) Verilerin Okunması

  • Sistem, bir oyuncunun öldürme istatistiklerine ihtiyaç duyulduğunda, BLOB verisini çözümler (decode eder) ve okunabilir bir formata dönüştürür.
  • Örneğin, çözümlenen veriler bir JSON objesi veya yapılandırılmış bir dizi olabilir:
    JSON:
    Genişlet Daralt Kopyala
    {
        "kills": [
            {"victim_id": 1001, "timestamp": 1672531200},
            {"victim_id": 1002, "timestamp": 1672534800}
        ]
    }

3. Bu Veriler Nerede Tutuluyor?

  • Veritabanında Saklanır:
    İstatistikler, oyuncu verilerini saklayan bir tablonun bir sütununda tutulur. Örneğin:
    • Tablo: player_statistics
    • Sütun: kill_log (BLOB formatında)
  • Bellekte Geçici Saklama:
    Aktif oyuncuların öldürme istatistikleri bazen veritabanına sürekli sorgu yapılmasını önlemek için sunucunun belleğinde (RAM) geçici olarak tutulabilir.

4. Verilere Nasıl Erişilir?

Bu tür veriler genelde şu şekilde işlenir:

a) Okuma İşlemi

  • BLOB verisi okunur ve sıkıştırma algoritmasıyla açılır (örneğin, zlib ile decompress edilir).
  • Veriler okunabilir bir formata (JSON, XML, vb.) dönüştürülür.

b) Yazma İşlemi

  • Yeni bir öldürme bilgisi eklendiğinde, mevcut BLOB verisi çözülür, güncellenir ve tekrar sıkıştırılarak veritabanına yazılır.

5. Bu Algoritmanın Avantajları

  • Depolama Optimizasyonu: Sıkıştırma sayesinde daha az yer kaplar.
  • Performans: Tek bir sütunda büyük miktarda veri saklandığı için sorgu işlemleri hızlıdır.
  • Esneklik: İkili format kullanıldığı için veri yapısı kolayca değiştirilebilir.

Sonuç

Dracarys kill statistics sisteminde kullanılan BLOB formatı, öldürme istatistiklerini sıkıştırılmış ve optimize edilmiş bir biçimde saklamayı sağlar. Bu sistemin mantığı:

  1. Verileri sıkıştırarak tek bir sütunda saklama,
  2. İhtiyaç halinde veriyi çözerek kullanılabilir hale getirme,
  3. Performans ve depolama avantajı sağlamaktır.
Eğer bu veriyi çözümlemek veya daha fazla bilgi almak istersen, kullanılan sıkıştırma algoritmasını ve veritabanı yapısını öğrenmek faydalı olacaktır. 😊

Fırtınalı günlere,
OnyxAlem

teşekkür ederim hocam mantığı anladım ancak şuan mesela x oyuncusunun kestiği metin sayısını düzenlemek istesem bunu navicattan nasıl yapabilirim tam olarak o kısmı anlamadım


hocam 5dk zamanınızı ayırıp okusaydınız keşke şunu yazmadan önce
okudum zaten bu sistemi sordum ben hala aynı şeyi diyorum
 
teşekkür ederim hocam mantığı anladım ancak şuan mesela x oyuncusunun kestiği metin sayısını düzenlemek istesem bunu navicattan nasıl yapabilirim tam olarak o kısmı anlamadım



okudum zaten bu sistemi sordum ben hala aynı şeyi diyorum
Txt dosyasını açıp düzenler gibi yapamazsın malesef. Python da mysql.connector kütüphanesini kullanarak yapabilirsin
 
Merhaba, dracarys kill statistics sistemini kurdum

DB'ye sadece 20931 eklentisini görüntüle bunu ekledim ve tüm istatistikleri logluyor, bu nasıl bir algoritma? Mantığı nedir, aşırı ilginç geldi. ve bu veriler nerede tutuluyor tam olarak
sistem linki nerede? Oyuncu istatistik sistemi & Bonus Info & Character Logs buradaki sistemde böyle bir yapı yok çünkü

blob genelde json objeleri tutmak için kullanılıyor, mysql 5.7 den itibaren normal json olarakta tutulabilir
 
Geri
Üst