Saya memiliki 2x 4TB Disk di hardware RAID1 (mungkin LSI MegaRaid) di Debian Wheezy. Ukuran blok fisik adalah 4kB. Saya akan menyimpan 150-200 juta file kecil (antara 3 dan 10kB). Saya tidak meminta kinerja, tetapi untuk filesystem terbaik dan ukuran blok untuk menghemat penyimpanan. Saya telah menyalin file 8200 byte ke ext4 dengan ukuran blok 4kB. Ini membutuhkan 32kB disk !? Apakah penjurnalan alasan untuk itu? Jadi opsi apa yang ada untuk menyimpan sebagian besar penyimpanan untuk file sekecil itu?
10
Jawaban:
Jika saya berada dalam situasi itu, saya akan melihat sebuah database yang dapat menyimpan semua data dalam satu file dengan indeks yang kompak dan berbasis offset, bukan sebagai file yang terpisah. Mungkin basis data yang memiliki driver FUSE tersedia untuk berinteraksi dengannya sebagai file bila perlu, tanpa mereka sebenarnya MENJADI file terpisah.
Sebagai alternatif, Anda dapat melihat katakanlah, persentil ke-60 - 70 dari ukuran file, dan mencoba menyesuaikan ukuran file tersebut langsung ke node tree sistem file, daripada sebagai blok terpisah pada disk. Menyimpan 10k di setiap node mungkin merupakan pertanyaan besar, tetapi jika Anda bisa mendapatkan 60% -70% file di sana, itu mungkin akan menjadi kemenangan besar.
Hanya filesystem tertentu yang dapat melakukan itu sama sekali (reiserfs adalah satu), dan saya kira itu semua tergantung pada ukuran persentil itu, apakah itu AKAN pas di pohon. Anda mungkin dapat menyetelnya. Saya kira coba untuk memasukkan sisanya ke dalam satu blok.
Dan jangan khawatir tentang jurnal; mereka memiliki batas ukuran atas pula.
sumber