BLOB Veritabanı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    @TeRRoR   hocam minio'yu docker üzerinden kurdum.. bir iki deneme bucket de olusturdum ancak anlamadigim bir nokta var..

    verdigim klasöre direk dosyayi upload ediyor. Bu sekilde mi olmasi lazim? ben sistemi biraz farkli calisiyor zannettim.. yani ben atiyorum c:\minio\data klasörünü acinca bucket folderlari ve icindeki dosyalari görebiliyorum..

    ben localdeki dosyayi yine ayni makinede olan bir API den almak istiyorum, o zaman bunun ne avantaji olacak mesela? dosya zaten localde oldugu icin disardan erisim olmayacak ve api üzerinden erisilecek ama buna ne gerek var.. Db de dosya yolunu tutarim ve o sekilde dosyaya erisip base64 olarak ya da byte array olarak geri gönderirim..

    Bu konuda düzgün anlasilir bir kaynak-örnek bulamadim.. yani object storage dan kasit tam olarak ne? file larin yaninda degisik dosyalar da var onlar mi object storage ve API'nin ayni makinede olmadigini farzedip, baska makinedeki API'den, minio kurulu olan makineden veri cekme olayimi bir use case..

    baya kafam karisti :) bu konuda biraz bilgi verirsen iyi olur :) ben yine okuyup anlamaya calisacagim..

    Kafamdaki sistem su: dosyalar file sisteme dosya olarak kaydedilmiyor, cesitli formatlara cevriliyor ve öyle kaydediliyor. bir tane de db si var bunun, orada da cesitli referanslar var.. Benim client da bu db'ye ulasip veriyi cekiyor.. Asagi yukari düsündügüme benziyor ama tek sikinti ben upload ettigim dosyayi file sistemde ayni sekilde görebiliyorum..

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    son gelisme:sanal makinede nginx kurdum ve minio'yu proxy olarak disari verdim

    daha sonra kendi bilgisayarimda bir c# client olusturdum, access ve secret keyleri verdim, bucketlara ulasiyorum ve icindeki dosyalari indirebiliyorum.. sistem baya güzel calisiyor (hiz olarak düsük geldi biraz ama serverdan kaynakli olabilir..)

    ayrica kolayca upload da edebiliyorum..

    @YeniHarman, sistemi denemek istersen bilgileri vereyim..

    @Terror ise yarar aciklamalarini bekliyorum :))

     

    edit: vay vay ne özellikler varmis böyle :) Bana min 1 saniyelik, max 7 günlük direk erisim url'i veriyor credentials'a gerek kalmadan.. 7 günlük örnek url

    http://13.67.143.113:8000/customer-1-001/Baby-Yoda.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20200508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200508T023838Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&&X-Amz-Signature=076226ddc3f577df33022e4255708302957973fc93a43d78da90e4890470b213

    harika bir fonksiyon cidden, bunu redise 7 günlük bir veri olarak alabilirsin mesela..

     

     

     

    unbalanced tarafından 08/May/20 05:48 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    unbalanced bunu yazdı

    son gelisme:sanal makinede nginx kurdum ve minio'yu proxy olarak disari verdim

    daha sonra kendi bilgisayarimda bir c# client olusturdum, access ve secret keyleri verdim, bucketlara ulasiyorum ve icindeki dosyalari indirebiliyorum.. sistem baya güzel calisiyor (hiz olarak düsük geldi biraz ama serverdan kaynakli olabilir..)

    ayrica kolayca upload da edebiliyorum..

    @YeniHarman, sistemi denemek istersen bilgileri vereyim..

    @Terror ise yarar aciklamalarini bekliyorum :))

     

    edit: vay vay ne özellikler varmis böyle :) Bana min 1 saniyelik, max 7 günlük direk erisim url'i veriyor credentials'a gerek kalmadan.. 7 günlük örnek url

    http://13.67.143.113:8000/customer-1-001/Baby-Yoda.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20200508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200508T023838Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&&X-Amz-Signature=076226ddc3f577df33022e4255708302957973fc93a43d78da90e4890470b213

    harika bir fonksiyon cidden, bunu redise 7 günlük bir veri olarak alabilirsin mesela..

     

     

     

    Şu örnek olayı çok güzel oldu (başka bir proje için).

    C# örnek client dosyalarını atabilir misin hocam? Chunk upload destekliyor mu mesela? Ne bileyim php file handler'ı aradan çıkartabilecek miyim gibi (file handler'ın kendisinde çok büyük sorun yok fakat kesilme, yarıda kalma, tamamlandığında birleştirip taşıma vs. gibi çok fazla işlem yapıyor).


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek
    unbalanced bunu yazdı

    @TeRRoR   hocam minio'yu docker üzerinden kurdum.. bir iki deneme bucket de olusturdum ancak anlamadigim bir nokta var..

    verdigim klasöre direk dosyayi upload ediyor. Bu sekilde mi olmasi lazim? ben sistemi biraz farkli calisiyor zannettim.. yani ben atiyorum c:\minio\data klasörünü acinca bucket folderlari ve icindeki dosyalari görebiliyorum..

    ben localdeki dosyayi yine ayni makinede olan bir API den almak istiyorum, o zaman bunun ne avantaji olacak mesela? dosya zaten localde oldugu icin disardan erisim olmayacak ve api üzerinden erisilecek ama buna ne gerek var.. Db de dosya yolunu tutarim ve o sekilde dosyaya erisip base64 olarak ya da byte array olarak geri gönderirim..

    Bu konuda düzgün anlasilir bir kaynak-örnek bulamadim.. yani object storage dan kasit tam olarak ne? file larin yaninda degisik dosyalar da var onlar mi object storage ve API'nin ayni makinede olmadigini farzedip, baska makinedeki API'den, minio kurulu olan makineden veri cekme olayimi bir use case..

    baya kafam karisti :) bu konuda biraz bilgi verirsen iyi olur :) ben yine okuyup anlamaya calisacagim..

    Kafamdaki sistem su: dosyalar file sisteme dosya olarak kaydedilmiyor, cesitli formatlara cevriliyor ve öyle kaydediliyor. bir tane de db si var bunun, orada da cesitli referanslar var.. Benim client da bu db'ye ulasip veriyi cekiyor.. Asagi yukari düsündügüme benziyor ama tek sikinti ben upload ettigim dosyayi file sistemde ayni sekilde görebiliyorum..

     

    minio'yu bilmiyorum ama her object storage'ın bir api'ı mutlaka olur. Mesela özel url yollayarak bazı insanlarla paylaşma iş saatleri dışında bazı dokümanlara vpn ile erişilememe veya dosyanın son çağrılma tarihine göre yavaş yavaş SSD'den sas oradan da arşive yaşlandıracak şekilde ayarlamaları yapabiliyoruz.

    Biraz kurcala object storagelar candır.


    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek
    YeniHarman bunu yazdı

    ... Chunk upload destekliyor mu mesela ...

    Amazon S3 uyumluluğu olduğuna göre, evet var. Minio spesifik olmadan Amazon S3 için her tür kod, kütüphaneyi kendi bucket endpoint'ini belirterek kullanabilirsin.

     

     

    buzukatak tarafından 09/May/20 02:18 tarihinde düzenlenmiştir

    anlıyorum.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    minio yu test amacli kullanacagim bakalim. Bir süre azure blob ile gidecegim ama ayni zamanda minio yu da test edecegim.. Belki onun icin ucuz bir server kullanacagim ( 2 cpu, 2gb ram, 50 gb disk, 1 gibt baglanti, sinirsiz bant genisligi 10 dolar https://www.hosttech.ch/vserver/cloudserver/sunny )

     

    @yeniharman, hocam senin icin kodlara baktim.. öncelikle nugetteki minio paketini ekledim projeye (opensource hali https://github.com/minio/minio-dotnet)

    buradaki kodlari inceledim biraz. Evet metadata ekleme imkanin var (dictionary) ayrica async upload yapabiliyorsun..

    /// <summary>
    /// Upload object part to bucket for particular uploadId
    /// </summary>
    /// <param name="bucketName">Bucket Name</param>
    /// <param name="objectName">Object Name</param>
    /// <param name="uploadId"></param>
    /// <param name="partNumber"></param>
    /// <param name="data"></param>
    /// <param name="metaData"></param>
    /// <param name="sseHeaders">Server-side encryption headers if any </param>
    /// <param name="cancellationToken">Optional cancellation token to cancel the operation</param>
    /// <returns></returns>
    private async Task<string> PutObjectAsync(string bucketName, string objectName, string uploadId, int partNumber, byte[] data, Dictionary<string, string> metaData, Dictionary<string, string> sseHeaders, CancellationToken cancellationToken)



    chunk olayina gelince: dosya 5 mb den kücükse tek parca halinde upload ediyor.. ancak daha büyükse min 5 mb olmak ve max 5gb part olmak üzere parcalara bölüyor.. Projeyi kendi projene ekleyip tüm degerlerle oynayabilirsin..

     

    Benim ekstra bir kod yazmama pek gerek yoktu..

    önce bir tane instance olusturuyorum

     

    private MinioClient minio = new MinioClient("server:port"access key","secret key");  //suan ssl yok ama ssl varsa bunu sonuna ekliyorsun => .WithSSL();
    
    
    // tüm bucket listesini almak icin
    
    var getListBucketsTask =await minio.ListBucketsAsync();
    
    // bucketleri gezmek icin
    
    foreach (Bucket bucket in getListBucketsTask.Buckets)
    {
    
      //her bucket'in altindaki dosyalari almak icin => await minio.ListObjectsAsync(bucket.Name);
    
    // dosya upload etmek icin => await minio.PutObjectAsync(bucket.Name, "Baby-Yoda.jpg", @"C:\temp\minio\Baby-Yoda.jpg");
    
    // upload edilmis dosyanin direk süreli url'sini almak icin(604800, 7 güne esit) => await minio.PresignedGetObjectAsync(bucket.Name, "Baby-Yoda.jpg", 604800);
    
    //dosyayi file'a download etmek icin (stream olarak alabilirsin de)=> minio.GetObjectAsync(bucket.Name, bucketItem.Key, "C:\\temp\\minio\\" + DateTime.Now.Ticks +"_"+bucketItem.Key);   // (bucketItem, ListObjectsAsync metodundan geliyor)
    
    }

     

    baska baska metodlar da var https://docs.min.io/docs/dotnet-client-api-reference.html

    ayrica .net harici, js,java, python, haskell, python ve golang da destekliyor..

     

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    unbalanced bunu yazdı

    @TeRRoR   hocam minio'yu docker üzerinden kurdum.. bir iki deneme bucket de olusturdum ancak anlamadigim bir nokta var..

    verdigim klasöre direk dosyayi upload ediyor. Bu sekilde mi olmasi lazim? ben sistemi biraz farkli calisiyor zannettim.. yani ben atiyorum c:\minio\data klasörünü acinca bucket folderlari ve icindeki dosyalari görebiliyorum..

    ben localdeki dosyayi yine ayni makinede olan bir API den almak istiyorum, o zaman bunun ne avantaji olacak mesela? dosya zaten localde oldugu icin disardan erisim olmayacak ve api üzerinden erisilecek ama buna ne gerek var.. Db de dosya yolunu tutarim ve o sekilde dosyaya erisip base64 olarak ya da byte array olarak geri gönderirim..

    Bu konuda düzgün anlasilir bir kaynak-örnek bulamadim.. yani object storage dan kasit tam olarak ne? file larin yaninda degisik dosyalar da var onlar mi object storage ve API'nin ayni makinede olmadigini farzedip, baska makinedeki API'den, minio kurulu olan makineden veri cekme olayimi bir use case..

    baya kafam karisti :) bu konuda biraz bilgi verirsen iyi olur :) ben yine okuyup anlamaya calisacagim..

    Kafamdaki sistem su: dosyalar file sisteme dosya olarak kaydedilmiyor, cesitli formatlara cevriliyor ve öyle kaydediliyor. bir tane de db si var bunun, orada da cesitli referanslar var.. Benim client da bu db'ye ulasip veriyi cekiyor.. Asagi yukari düsündügüme benziyor ama tek sikinti ben upload ettigim dosyayi file sistemde ayni sekilde görebiliyorum..

     

    Hacı bizim asıl minio kullanma sebebimiz şuydu; uygulamamız müşterilerin fiziksel object storage'larını dosya işlemleri için kullanıyordu. Bizde test ortamında onların ortamına en yakın ortam kurabilmek için minio'yu s3 protokolü ile kullanıyorduk. Yoksa dediğin doğru minio'yu docker üzerinden kurmak saçma biraz :) biz daha çok dur lan nasıl bu meret diye bakarken kurduk sonrada kullanmaya devam ettik test ortamında. 


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    konudan alakasız olarak blob isminin geldiği yer

     

    https://720pizle.org/detay/the-blob.html

     

Toplam Hit: 3375 Toplam Mesaj: 19
blob db