MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Bật nén dữ liệu trong MongoDB 3.0

MongoDB 3.0 với công cụ lưu trữ WiredTiger cho phép bạn nén dữ liệu được lưu trữ trong cơ sở dữ liệu của mình một cách minh bạch. Đây là một tính năng khá thú vị và hữu ích có thể được sử dụng để giảm việc sử dụng dung lượng ổ đĩa cho dữ liệu đang phát triển nhanh của bạn. Theo mặc định, hổ có dây sử dụng công cụ nén khối ‘Snappy’ cho tất cả các bộ sưu tập. Bạn có thể tắt tính năng nén theo mặc định bằng cách sử dụng các tùy chọn sau trong tệp cấu hình máy chủ MongoDB.

storage:
  engine: wiredTiger
  wiredTiger:
    collectionConfig:
      blockCompressor: none

Thuật toán nén có thể được chỉ định ở mức thu thập trong quá trình tạo cụm. Dưới đây là một ví dụ về cách tạo một bộ sưu tập với tính năng nén ‘zlib’:

db.createCollection( "test", {storageEngine:{wiredTiger:{configString:'block_compressor=zlib'}}} );

Công cụ lưu trữ MongoDB WiredTiger cung cấp hai tùy chọn để nén - snappy và zlib. Về cơ bản, có sự cân bằng giữa mức độ nén và khối lượng CPU tải để giải nén. ‘Zlib’ đạt được độ nén nhiều hơn và tương ứng là hiệu suất kém hơn. "Snappy" nhằm mục đích "đạt được tốc độ rất cao và độ nén hợp lý".

Chúng tôi đã chạy một số bài kiểm tra không khoa học đơn giản để đo hiệu suất nén. Chúng tôi đã sử dụng một trong những tập dữ liệu lưu trữ các chuỗi mà chúng tôi cảm thấy sẽ nén tốt. Đây là cấu trúc cơ bản của mỗi tài liệu:


{
'_id': <ObjectID>,
'name': <Five character string>,
'value': <Random 1MB string>
}

Chúng tôi đã chèn khoảng 5000 tài liệu trong số này (khoảng 5GB dữ liệu), và kết quả khá ấn tượng. Zlib đạt được một lượng nén đáng kể. Snappy cũng đạt được lượng nén hợp lý mà hệ thống không tải hoặc ít:

Zlib Nhanh nhẹn không nén
Kích thước dữ liệu (MB) 5000,5 5000,5 5000,5
Dung lượng lưu trữ (MB) 19,62 254,37 5019

Như mọi khi, bạn cần chạy một số thử nghiệm để hiểu hiệu suất tăng cho tập dữ liệu của mình. Dưới đây là một số nghiên cứu điểm chuẩn chi tiết hơn về hiệu suất nén và sự cân bằng:

http://www.mongodb.com/blog/post/new-compression-options-mongodb-30
http://www.acmebenchmarking.com/2015/02/mongodb-v30-compression-benchmarks.html
https://comerford.cc/2015/02/04/mongodb-3-0-testing-compression/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. bản sao Đặt Docker-soạn mongo

  2. Nâng cấp cơ sở dữ liệu mongo cũ hơn sau khi nâng cấp phiên bản mongo không chủ ý

  3. Kiến thức cơ bản về nhân rộng chuỗi MongoDB

  4. đẩy đối tượng vào lược đồ mảng trong Mongoose

  5. xử lý @ trong chuỗi kết nối mongodb