Hiệu suất ghi mongodb
Amazon DynamoDB là dịch vụ cơ sở dữ liệu NoSQL được quản lý toàn phần, cung cấp hiệu suất nhanh và có thể dự đoán được với khả năng mở rộng liền mạch. DynamoDB cho phép bạn giảm bớt gánh nặng quản trị trong việc vận hành và thay đổi quy mô cơ sở dữ liệu phân tán để bạn không phải lo lắng về việc cung cấp, thiết lập và cấu hình phần cứng, sao chép, vá lỗi phần mềm hoặc thay đổi quy mô cụm. DynamoDB cũng cung cấp tính năng mã hóa khi lưu trữ, giúp loại bỏ gánh nặng vận hành và sự phức tạp liên quan đến việc bảo vệ dữ liệu nhạy cảm. Để biết thêm thông tin, hãy xem mã hóa DynamoDB ở trạng thái nghỉ Show
Với DynamoDB, bạn có thể tạo các bảng cơ sở dữ liệu có thể lưu trữ và truy xuất bất kỳ lượng dữ liệu nào cũng như phục vụ mọi cấp độ lưu lượng yêu cầu. Bạn có thể tăng hoặc giảm quy mô công suất thông lượng của bảng mà không có thời gian ngừng hoạt động hoặc suy giảm hiệu suất. Bạn có thể sử dụng Bảng điều khiển quản lý AWS để giám sát việc sử dụng tài nguyên và chỉ số hiệu suất DynamoDB cung cấp khả năng sao lưu theo yêu cầu. Nó cho phép bạn tạo các bản sao lưu đầy đủ cho các bảng của mình để lưu giữ và lưu trữ lâu dài cho các nhu cầu tuân thủ quy định. Để biết thêm thông tin, hãy xem Sử dụng sao lưu và khôi phục theo yêu cầu cho DynamoDB Bạn có thể tạo các bản sao lưu theo yêu cầu và bật tính năng khôi phục tại thời điểm cho các bảng Amazon DynamoDB của mình. Khôi phục tại thời điểm giúp bảo vệ các bảng của bạn khỏi các thao tác ghi hoặc xóa vô tình. Với khôi phục tại thời điểm, bạn có thể khôi phục bảng về bất kỳ thời điểm nào trong 35 ngày qua. Để biết thêm thông tin, hãy xem Phục hồi tại thời điểm. Làm thế nào nó hoạt động DynamoDB cho phép bạn tự động xóa các mục đã hết hạn khỏi bảng để giúp bạn giảm mức sử dụng bộ nhớ và chi phí lưu trữ dữ liệu không còn phù hợp. Để biết thêm thông tin, hãy xem mục Hết hạn sử dụng DynamoDB Time to Live (TTL) Tính khả dụng và độ bền caoDynamoDB tự động phân bổ dữ liệu và lưu lượng truy cập cho các bảng của bạn trên một số lượng máy chủ vừa đủ để xử lý các yêu cầu về thông lượng và lưu trữ của bạn, đồng thời duy trì hiệu suất ổn định và nhanh chóng. Tất cả dữ liệu của bạn được lưu trữ trên ổ cứng thể rắn (SSD) và được tự động sao chép trên nhiều Vùng sẵn sàng trong Khu vực AWS, mang lại độ sẵn sàng cao và độ bền dữ liệu tích hợp sẵn. Bạn có thể sử dụng các bảng toàn cầu để giữ cho các bảng DynamoDB được đồng bộ hóa trên các Khu vực AWS. Để biết thêm thông tin, hãy xem Bảng toàn cầu - sao chép nhiều vùng cho DynamoDB Bắt đầu với DynamoDBChúng tôi khuyên bạn nên bắt đầu bằng cách đọc các phần sau Từ đó, bạn có hai tùy chọn để bắt đầu nhanh chóng với DynamoDB Để tìm hiểu thêm về phát triển ứng dụng, hãy xem phần sau Để nhanh chóng tìm thấy các đề xuất nhằm tối đa hóa hiệu suất và giảm thiểu chi phí thông lượng, hãy xem phần sau. Các phương pháp hay nhất để thiết kế và kiến trúc với DynamoDB. Để tìm hiểu cách gắn thẻ tài nguyên DynamoDB, hãy xem Thêm thẻ và nhãn vào tài nguyên Để biết các phương pháp hay nhất, hướng dẫn cách thực hiện và công cụ, hãy xem tài nguyên Amazon DynamoDB Bạn có thể sử dụng Dịch vụ di chuyển cơ sở dữ liệu AWS (AWS DMS) để di chuyển dữ liệu từ cơ sở dữ liệu quan hệ hoặc MongoDB sang bảng DynamoDB. Để biết thêm thông tin, hãy xem Hướng dẫn sử dụng Dịch vụ di chuyển cơ sở dữ liệu AWS Để tìm hiểu cách sử dụng MongoDB làm nguồn di chuyển, hãy xem Sử dụng MongoDB làm nguồn cho Dịch vụ di chuyển cơ sở dữ liệu AWS. Để tìm hiểu cách sử dụng DynamoDB làm mục tiêu di chuyển, hãy xem Sử dụng cơ sở dữ liệu Amazon DynamoDB làm mục tiêu cho Dịch vụ di chuyển cơ sở dữ liệu AWS Hướng dẫn về DynamoDBCác hướng dẫn sau đây trình bày các quy trình hoàn chỉnh từ đầu đến cuối để bạn làm quen với DynamoDB. Bạn có thể hoàn thành các hướng dẫn này với bậc miễn phí của AWS và sẽ cung cấp cho bạn trải nghiệm thực tế khi sử dụng DynamoDB MongoDB Atlas là cơ sở dữ liệu đám mây của MongoDB được ra mắt vào năm 2016 chạy trên AWS, Microsoft Azure và Google Cloud Platform Dữ liệu trong mỗi Cụm trong Atlas được lưu trữ theo cơ chế Sao chép, với 3 nút. 1 chủ (chính) và 2 nô lệ (phụ) 1. Bắt đầuĐể bắt đầu sử dụng Atlas các bạn hay truy cập vào đây và nhấn ngay nút Start Free nhé Cứ mạnh dạng mà đăng ký và yên tâm rằng với bản miễn phí thì Atlas sẽ không yêu cầu thẻ tín dụng để nhăm nhe trừ tiền mỗi khi bạn sơ lược như AWS đâu Ngay sau khi đăng ký thành công, bạn có thể chọn tùy chọn dịch vụ, và coder nghèo như mình thì hiển thị tùy chọn tùy chọn miễn phí 2. Truy cập cơ sở dữ liệuNhấp vào Truy cập cơ sở dữ liệu bạn sẽ đi đến màn hình quản lý người dùng. Tại đây bạn có thể tạo ra người dùng với các quyền là. Admin, Read and Write, Only Read và bạn có thể tạo Vai trò tùy chỉnh như quyền ghi hoặc đọc một Cơ sở dữ liệu cụ thể Bài viết thuộc quyền Phạm Quang Minh - Minh Monmen. Techmaster đã đăng bài có sự cho phép của tác giả Link bài viết gốc https. //kipalog. com/posts/Nghe-thuat-index-MongoDB--5-ke-sach-co-the-cac-ha-chua-biet Thầy Phạm Quang Minh hiện tại là giảng viên Techmaster trong các Khoa Lộ trình đào tạo DevOps cho cá nhân và doanh nghiệp.
Chắc chắn các huynh đệ dev backend bây giờ đã không còn xa lạ gì với 1 cơ sở dữ liệu hết sức phổ biến là mongodb và ai cũng giắt lưng sau lưng dăm ba tuyệt chiêu với cơ sở dữ liệu thần thánh này rồi đúng không? Hãy bắt đầu
điều đầu tiên đầu tiênKhoan đã không làm thế nào. Hãy cùng điểm qua 1 chút về nhà chiến lược gia đại tài mà chúng ta không biết mặt (chính là ta). Tại hạ tên Minh họ Monmen, từng được giang hồ đồn là với nhiều tên dị hợm như Minh béo, Minh mô mần, Minh mũm mĩm,. nhưng với vẻ ngoài đẹp trai cùng tài chém gió kiệt xuất biến không thành có, tại hạ đã làm rất nhiều anh hùng trong thiên hạ Đọc đến dòng này mà tưởng có gì mà kinh khủng. Nhưng mà không có đâu, chỉ là nhân ngày đầu xuân năm mới, tại hạ cũng thu xếp lại trí nhớ lộn xộn của bản thân và nhận ra nó cần sắp xếp lại nên mở bát luôn bằng 1 bài đánh index mongodb cho ngăn nắp. Đây là 1 trong những kiến thức tại hạ tâm đắc nhất được đúc kết từ 4 năm sử dụng mongodb cho tới giờ Kính mời các huynh đệ theo dõi Kế sách 1. Nhất hạ chỉ số song trường (hay còn gọi là nhất hạ hỏa song thiện)Theo thư tịch cổ về mongodb thì chiếc DB thần thánh này thường chỉ hỗ trợ duy nhất 1 index cho 1 truy vấn. (Các hạ đừng nhầm lẫn với việc không hỗ trợ nhiều index 1 truy vấn nha, nó có hỗ trợ nhưng chỉ trong 1 số trường hợp hạn chế). Chính vì vậy mà trường phái đánh index cho mongodb trở nên thịnh hành với chỉ số hỗn hợp chiêu thức (khác với hệ sql như mysql thường thịnh hành chỉ số 1 trường). Chiêu thức đánh index này cho phép các huynh đệ đánh 1 index sử dụng nhiều trường thay vì 1. Chính vì vậy chỉ cần 1 mục lục là có thể thoải mái thoải mái hỗ trợ cho thắc mắc của các huynh đệ Trường bài hát chỉ mục hạ nhất là kế sách tận hưởng 1 chỉ mục tổng hợp để giải quyết vấn đề của truy vấn trên nhiều trường Điều kiện thi công
Cách thức phát triển Xác định trường số thường xuyên được sử dụng và đưa vào chỉ mục
Specify thứ tự của các trường trong chỉ mục. Nói chung, có 1 số cách xác định mức độ ưu tiên cho việc đặt thứ tự như sau
Specify the sort of the field in index. This is to support for too sort. Theo đó
Lưu ý
Nghệ thuật ở đây chính là việc các huynh đệ phải cân nhắc lợi hại của việc thay đổi thứ tự các lĩnh vực khi đánh index. Có 1 số nhận định mà các huynh đệ có thể tham khảo
Xem thêm tại https. // tài liệu. mongodb. com/manual/core/index-compound/ Kế sách 2. Ve exit hashed (aka ve exitic)Đôi khi huynh đệ chúng ta phải đối mặt với những trường chứa những dòng văn bản lớn, kiểu như 2, 3, 4, 5. mà đặc điểm của nó là rất dài. Những trường này thường xuất hiện khi tìm kiếm chính xác. Thế nhưng đánh chỉ mục những trường văn bản này lại có những vấn đề
Vì sao phải vượt qua kẻ địch mạnh như hổ này? Rất đơn giản, hãy sử dụng chiêu thức đã thoát băm. Ta sẽ tránh mặt mạnh nhất của đối thủ là độ dài, tạo 1 vỏ bọc là đánh chỉ mục cho trường này nhưng thật ra là chúng ta sẽ băm giá trị của chúng khi đưa vào chỉ mục. Nếu trường có giá trị dài hơn 1024 ký tự, thì vẫn sẽ lập chỉ mục là bình thường, đồng thời hiệu quả lưu trữ của chỉ mục tăng lên rõ ràng khi dung lượng giảm đáng kể
Điều kiện thi công
Cách thức phát triển Thật may mắn là mongodb Hỗ trợ chúng ta công việc này 6, tất cả công việc chúng ta cần làm là tạo ra 1 chỉ mục được băm như sau
Lưu ý
Usecase thường gặp nhất khi sử dụng chiêu thức này thường là ở các hệ thống xác thực khi tìm kiếm 1 bản ghi trong db với 1 chuỗi mã thông báo dài ngoằng Xem thêm tại https. // tài liệu. mongodb. com/manual/core/index-hashed/ Kế sách 3. Mượn tiền tố hoàn hồn duy nhất (hay còn gọi là mượn xác hoàn hồn)Chỉ mục duy nhất trên 1 chuỗi vốn được coi là đau đầu trong kỹ thuật đánh chỉ mục do nó làm chậm đi rất nhiều quá trình chèn và cập nhật dữ liệu phải đảm bảo tính duy nhất, cộng thêm với việc chỉ mục duy nhất không được sử dụng băm . Do đó, chỉ mục duy nhất dựa trên chuỗi sẽ được xử lý tương ứng với 1 trường bình thường và sẽ rất nhiều dung lượng Đây là kẻ địch mà chúng ta không thể tránh khỏi, cũng không có cách nào làm vòng qua nó được khi yêu cầu bài toán đã đặt ra thế. Tuy nhiên tại đã hạ nghiệm ra 1 chiêu thức biến chiếc chỉ số độc nhất vô nhị nặng nề trở nên hữu ích hơn chính là tiền tố độc nhất vô nhị Bản chất của chiêu thức này chính là việc sử dụng các thông tin trong chỉ mục duy nhất để phục vụ cho 1 mục đích khác. Qua đó tận dụng được khả năng tìm kiếm theo tiền tố của chỉ mục duy nhất và tăng khả năng sử dụng của nó Điều kiện thi công
Cách thức phát triển Tạo khóa duy nhất bằng cách đưa ra các trường có giá trị tìm kiếm và có mức độ phân tán lớn lên khóa đầu. Ví dụ khóa duy nhất là sự kết hợp của 1 số thông tin. item_id, other_id,. ,loại, user_id. Vì số lượng thành tố không được xác định nên tại hạ chuỗi khóa chứ không sử dụng các trường riêng lẻ với chỉ số phức hợp khóa duy nhất. 7Việc sắp xếp này tương tự như sắp xếp thứ tự 1 chỉ mục phức hợp, khi đưa ra những dữ liệu cần tìm kiếm lên phía trên, cung cấp các dữ liệu ít quan trọng hơn phía dưới. Ở đây là tại hay hạ tầng tìm kiếm theo 8, 9, còn user_id không cần thiết vì lưu trữ bên ngoài và chỉ mục bên ngoàiNhư vậy, khi tìm kiếm toàn bộ các bản ghi có giá trị 0 sẽ có định dạng tìm kiếm theo Regex như sau
Hay sâu hơn đến 1
Với chỉ mục duy nhất dựa trên chỉ mục phức hợp thì cách làm tương tự, tận dụng các trường là tiền tố của chỉ mục Lưu ý
Kế hoạch này thường được hạ sử dụng để tận dụng nguồn lực, sử dụng trong các trường hợp cần cập nhật hoặc xóa hàng dựa trên 1 dữ liệu xuất hiện trong khóa duy nhất nhưng không cần xuất hiện ở bên ngoài (hoặc có ở bên ngoài nhưng không cần thiết) Xem thêm tại Kế sách 4. Diệu giá ly chỉ (hay còn gọi là điệu hổ ly sơn)Nhớ ngày xưa Tôn Sách muốn đánh chiếm Lư Giang nhưng lại húc phải binh hùng tướng mạnh của Lưu Huân đang trấn thủ. Lúc đó Tôn Sách đã sử dụng kế dụ Lưu Huân xuất binh đi đánh Thượng Liễu để nhân cơ hội đánh úp Lư Giang. Đó gọi là kế Điệu hổ ly sơn Ngày nay đứng trước một thế lực cực kỳ mạnh mẽ đó là chỉ số những trường ít giá trị như 8, 3, 7,. rất kém hiệu quả và dung lượng lớn trên các bộ sưu tập lớn. Tại hạ cũng đã sử dụng kế sách Điệu giá trị ly chỉ mục nhằm làm suy giảm dung lượng của chỉ mục, từ đó làm cho chỉ mục Ít dung lượng hơn và hiệu quả hơnCách lập chỉ mục này được gọi là chỉ mục một phần
Điều kiện thi công Kế hoạch này được thi triển có hiệu quả trong 1 số bình tình như sau
Cách thức phát triển Xác định số lượng tối thiểu và đặt bộ lọc điều kiện
Lưu ý
Điều trị chỉ mục giá trị được tại hạ thi phát triển rất hiệu quả trên các bộ sưu tập hàng chục triệu tới hàng trăm triệu bản ghi với dung lượng chỉ mục chỉ khoảng vài MB đổ lại khi đã lọc được giá trị tối thiểu để cho vào bộ lọc. Việc tiết kiệm lượng điện dung của chỉ số rất quan trọng trong công việc chắc chắn mongodb sẽ ghép các chỉ số của chúng ta vào ram, từ đó nâng cao hiệu quả xử lý chỉ số Xem thêm tại https. // tài liệu. mongodb. com/manual/core/index-partial/ Kế sách 5. Vô chỉ thắng hữu chỉ (hay còn gọi là vô chiêu thắng hữu chiêu)Kế sách cuối cùng và cũng là bí đao thượng thừa của trưởng môn phái mongo tại hạ đúc kết đơn giản là Vô chỉ số thắng hữu chỉ số. Tuy rút gọn nhưng kế sách này có bảy bảy bóng chín cách biến hóa và rất khó bắt. Tại hạ hiện tại cũng chỉ nắm được 1 số cách biến hóa cơ bản của kế sách này, và khi thực hiện nó cũng vẫn còn bập bõm lắm Nói một cách ngắn gọn. Chỉ số hiệu quả nhất là KHÔNG CÓ CHỈ SỐ vietsub. Cách hiệu quả nhất index is not index Nói thông tin tức thời là sao? Viết hiệu suất Làm 1 phép toán cơ bản 1 tôi. 1 hành động đọc hoặc ghi vào đĩa chèn 1 bản ghi = 1 IO (đối với dữ liệu) + n IO (n là số chỉ mục) Càng nhiều chỉ mục, ta càng cần nhiều thao tác IO để thực thi với mỗi hành động. Điều này làm giảm tốc độ ghi Vì vậy nên
Kho Không cần nhắc đến disk storage cho index (do disk cực rẻ) thì index cần được lưu trong ram để cho kết quả tìm kiếm tốt nhất, do vậy tạo càng nhiều index hay index càng nặng thì dung lượng ram sử dụng càng tăng. Để index tràn ram là thứ cuối cùng các vị huynh đệ muốn xảy ra trên con mongo của mình Làm sao để tiết kiệm điện?
Kinh nghiệm cá nhân Sau con đường đi lấy kinh đầy gai và đau khổ, tại hạ đã lĩnh hội được 1 số chân kinh sau
Tổng kếtNhờ áp dụng những kế sách thần thánh trên, tại hạ quản trị thành công cơ sở dữ liệu có nhiều thao tác nhất và nặng nề nhất mạng xã hội GAPO chỉ với 2 CPU + 12GB ram + 3000 IOPS disk. Hiện tại thì dữ liệu cũng tầm trăm triệu, nặng trăm GB, hàng ngày thêm, sửa, xóa hàng triệu bản ghi và sử dụng thường trực ~ 2000 IOPS Tới đây, tại hạ còn sức tàn lực kiệt phải kết lại cuốn tàn thư đã truyền này. Rất mong các vị huynh đệ bạt bạt trên giang hồ có tuyệt chiêu nào hay, hay món võ nào tâm đắc có thể đóng góp ý kiến để lúc được hạ tầm tầm mắt. Xin cảm ơn |