Hướng dẫn how does mongodb store files on disk? - làm thế nào để mongodb lưu trữ các tập tin trên đĩa?
Tôi biết rằng Show Hỏi ngày 8 tháng 11 năm 2010 lúc 19:44Nov 8, 2010 at 19:44
Mark Lemoinemark LemoineMark LeMoine 4.3383 Huy hiệu vàng34 Huy hiệu bạc51 Huy hiệu Đồng3 gold badges34 silver badges51 bronze badges
MongoDB lưu trữ dữ liệu trên đĩa dưới dạng BSON trong thư mục đường dẫn dữ liệu của bạn, thường là /dữ liệu /db. Cần có hai tệp trên mỗi bộ sưu tập ở đó, Collection.0, lưu trữ dữ liệu (và số nguyên đó sau đó được tăng lên dưới dạng nhu cầu) và thu thập.ns lưu trữ siêu dữ liệu đặt tên cho bộ sưu tập. Đã trả lời ngày 8 tháng 11 năm 2010 lúc 20:00Nov 8, 2010 at 20:00
Jamie Rumbelowjamie RumbelowJamie Rumbelow 4.8672 Huy hiệu vàng28 Huy hiệu bạc42 Huy hiệu đồng2 gold badges28 silver badges42 bronze badges 1 Tài liệu chi tiết về định dạng BSON có thể được tìm thấy ở đây: http://bsonspec.org/ Đã trả lời ngày 11 tháng 11 năm 2010 lúc 13:44Nov 11, 2010 at 13:44
MgriesbachmgriesbachMGriesbach 3442 Huy hiệu bạc6 Huy hiệu đồng2 silver badges6 bronze badges Đã trả lời ngày 11 tháng 2 năm 2015 lúc 17:33Feb 11, 2015 at 17:33
1 Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Trên trang này
Tài liệu này giải quyết các câu hỏi phổ biến liên quan đến hệ thống lưu trữ của MongoDB. Công cụ lưu trữ là một phần của cơ sở dữ liệu chịu trách nhiệm quản lý cách lưu trữ dữ liệu, cả trong bộ nhớ và trên đĩa. Nhiều cơ sở dữ liệu hỗ trợ nhiều công cụ lưu trữ, trong đó các công cụ khác nhau hoạt động tốt hơn cho khối lượng công việc cụ thể. Ví dụ, một công cụ lưu trữ có thể cung cấp hiệu suất tốt hơn cho khối lượng công việc nặng đọc và một công cụ khác có thể hỗ trợ thông lượng cao hơn cho các hoạt động ghi. MẹoXem thêm:Đúng. Bạn có thể có các thành viên Set Replica sử dụng các công cụ lưu trữ khác nhau (WiredTiger và In-Memory) Ghi chúBắt đầu từ phiên bản 4.2, MongoDB sẽ loại bỏ công cụ lưu trữ MMAPV1 không dùng. Đúng. Nhìn thấy:
Tỷ lệ dữ liệu nén so với dữ liệu không nén phụ thuộc vào dữ liệu của bạn và thư viện nén được sử dụng. Theo mặc định, dữ liệu thu thập trong WiredTiger sử dụng nén khối Snappy; Nén ZLIB và ZSTD cũng có sẵn. Chỉ số dữ liệu sử dụng nén tiền tố theo mặc định. Với WiredTiger, MongoDB sử dụng cả bộ đệm bên trong WiredTiger và bộ đệm hệ thống tập tin. Bắt đầu từ MongoDB 3.4, kích thước bộ nhớ cache bên trong WiredTiger mặc định là lớn hơn cả:
Ví dụ, trên một hệ thống có tổng số RAM 4GB, bộ đệm Wiredtiger sẽ sử dụng 1,5GB RAM ( Ghi chúBắt đầu từ phiên bản 4.2, MongoDB sẽ loại bỏ công cụ lưu trữ MMAPV1 không dùng. Đúng. Nhìn thấy: Thay đổi độc lập thành Wiredtiger Thay đổi bản sao được đặt thành Wiredtiger
Thông qua bộ đệm hệ thống tập tin, MongoDB tự động sử dụng tất cả bộ nhớ miễn phí không được sử dụng bởi bộ đệm WiredTiger hoặc bởi các quy trình khác. Để điều chỉnh kích thước của bộ đệm nội bộ Wiredtiger, xem 0. Tránh tăng kích thước bộ đệm bên trong WiredTiger trên giá trị mặc định của nó.Ghi chú
Để phù hợp với những người tiêu dùng RAM bổ sung, bạn có thể phải giảm kích thước bộ nhớ cache bên trong Wiredtiger. Giá trị kích thước bộ đệm bên trong WiredTiger mặc định giả định rằng có một phiên bản 2 cho mỗi máy. Nếu một máy duy nhất chứa nhiều phiên bản MongoDB, thì bạn nên giảm cài đặt để phù hợp với các phiên bản 2 khác.Nếu bạn chạy 2 trong một container (ví dụ: 5, 6, Docker, v.v.) không có quyền truy cập vào tất cả RAM có sẵn trong hệ thống, bạn phải đặt storage.wiredTiger.engineConfig.cacheSizeGB thành giá trị thấp hơn số lượng RAM có sẵn trong container . Số tiền chính xác phụ thuộc vào các quy trình khác chạy trong container. Xem 8Để xem số liệu thống kê về bộ đệm và tốc độ trục xuất, hãy xem trường 9 được trả về từ lệnh MongoDB 0.Mỗi kết nối sử dụng tối đa 1 megabyte của RAM. Để tối ưu hóa việc sử dụng bộ nhớ cho các kết nối, hãy đảm bảo rằng bạn:
Giá trị kích thước bộ đệm bên trong WiredTiger mặc định giả định rằng có một phiên bản 2 cho mỗi máy. Nếu một máy duy nhất chứa nhiều phiên bản MongoDB, thì bạn nên giảm cài đặt để phù hợp với các phiên bản 2 khác.Nếu bạn chạy 2 trong một container (ví dụ: 5, 6, Docker, v.v.) không có quyền truy cập vào tất cả RAM có sẵn trong hệ thống, bạn phải đặt storage.wiredTiger.engineConfig.cacheSizeGB thành giá trị thấp hơn số lượng RAM có sẵn trong container . Số tiền chính xác phụ thuộc vào các quy trình khác chạy trong container. Xem 8Để xem số liệu thống kê về bộ đệm và tốc độ trục xuất, hãy xem trường 9 được trả về từ lệnh MongoDB 0.Mỗi kết nối sử dụng tối đa 1 megabyte của RAM. Để tối ưu hóa việc sử dụng bộ nhớ cho các kết nối, hãy đảm bảo rằng bạn:
Tập lệnh sau đây in số liệu thống kê cho mỗi cơ sở dữ liệu:
Tập lệnh sau đây in số liệu thống kê cho mỗi bộ sưu tập trong mỗi cơ sở dữ liệu:
Để xem kích thước của dữ liệu được phân bổ cho từng chỉ mục, hãy sử dụng phương thức Nếu một chỉ mục sử dụng nén tiền tố (là Phương thức Làm thế nào để MongoDB lưu trữ dữ liệu trên đĩa?MongoDB lưu trữ dữ liệu trên đĩa dưới dạng BSON trong thư mục đường dẫn dữ liệu của bạn, thường là /dữ liệu /db. Cần có hai tập tin cho mỗi bộ sưu tập ở đó, bộ sưu tập. 0, lưu trữ dữ liệu (và số nguyên đó sau đó được tăng lên như nhu cầu) và thu thập. NS lưu trữ siêu dữ liệu đặt tên cho bộ sưu tập.as BSON in your data path directory, which is usually /data/db. There should be two files per collection there, collection. 0, which stores the data (and that integer is then incremented as needs be) and collection. ns which stores the namespacing metadata for the collection.
MongoDB có lưu vào đĩa không?Các tài liệu được lưu trữ trên đĩa bằng cách sử dụng nén khối để giảm sử dụng lưu trữ. Các tài liệu tự động không bị nén trong bộ nhớ khi được máy chủ MongoDB truy xuất. Mỗi bộ sưu tập & chỉ mục được lưu trữ trong một tệp riêng trong bộ lưu trữ.. Documents are automatically uncompressed in memory when retrieved by the MongoDB server. Each collection & index is stored in a separate file within the storage.
Làm thế nào các tập tin được lưu trữ trong MongoDB?MongoDB lưu trữ các đối tượng ở định dạng nhị phân gọi là BSON.Bindata là loại dữ liệu BSON cho mảng byte nhị phân.Tuy nhiên, các đối tượng MongoDB thường bị giới hạn ở kích thước 16MB.Để đối phó với điều này, các tệp được "chia" thành nhiều đối tượng nhỏ hơn 255 kib mỗi đối tượng.in a binary format called BSON. BinData is a BSON data type for a binary byte array. However, MongoDB objects are typically limited to 16MB in size. To deal with this, files are "chunked" into multiple objects that are less than 255 KiB each.
MongoDB lưu trữ dữ liệu của nó ở đâu?Theo mặc định Mongo lưu trữ dữ liệu của nó trong thư mục /dữ liệu /db.Bạn có thể chỉ định một thư mục khác nhau bằng tùy chọn - -DBPath.Nếu bạn đang chạy Mongo trên Windows thì thư mục sẽ là C: \ Data \ DB, trong đó C là ký tự ổ đĩa của thư mục làm việc mà Mongo được bắt đầu./data/db . You can specify a different directory using the --dbpath option. If you're running Mongo on Windows then the directory will be C:\data\db , where C is the drive letter of the working directory in which Mongo was started. |