Multi-Tenant Là Gì ? Tổng Quan Về Multi Tenancy Như Thế Nào?

[ad_1]

Bạn có thường nghe nhắc đến cụm từ multi tenant không ? Cùng mongkiemthe.com tìm hiểu và khám phá ngay thông tin về multi tenant là gì trong bài viết này nhé ?Multi-tenancy trong trong thực tiễn gặp rất nhiều nhưng lúc bấy giờ có nhiều developer chưa nắm được khái niệm và phương pháp hoạt động giải trí của những hệ thống thiết kế theo hướng này .

Bạn đang xem: Multi-tenant là gì

Bạn đang đọc: Multi-Tenant Là Gì ? Tổng Quan Về Multi Tenancy Như Thế Nào?

*

Lợi ích của Multi tenant là gì? 

Chi phí thấp hơn thông qua tính kinh tế theo quy mô: Với nhiều khách hàng, nhân rộng có ý nghĩa cơ sở hạ tầng ít hơn nhiều so với giải pháp lưu trữ vì khách hàng mới có quyền truy cập vào cùng một phần mềm cơ bản.Người sử dụng không cần bận tâm về việc cập nhật các tính năng và cập nhật mới, họ cũng không cần phải trả phí bảo trì hoặc chi phí khổng lồ.Kiến trúc Multi tenant phục vụ hiệu quả tất cả mọi người từ các khách hàng nhỏ, có quy mô có thể không đảm bảo cơ sở hạ tầng chuyên dụng. Chi phí phát triển và bảo trì phần mềm được chia sẻ, giảm chi tiêu, dẫn đến tiết kiệm được chuyển cho bạn, khách hàng.Hỗ trợ dịch vụ tốt hơn.Mang lại lợi ích lâu dài cho các nhà cung cấp cũng như người dùng, có thể là về mặt bảo trì, chi phí đầu tư hoặc phát triển.

Khuyết điểm Multi tenant là gì? 

Khó backup database riêng lẻ từng tenantDữ liệu phìm to nhanh chóng Khó khăn khi scale hệ thống.

Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:

giá thành thấp hơn trải qua tính kinh tế tài chính theo quy mô : Với nhiều người mua, nhân rộng có ý nghĩa hạ tầng ít hơn nhiều so với giải pháp tàng trữ vì người mua mới có quyền truy vấn vào cùng một ứng dụng cơ bản. Người sử dụng không cần bận tâm về việc update những tính năng và update mới, họ cũng không cần phải trả phí bảo dưỡng hoặc ngân sách khổng lồ. Kiến trúc Multi tenant Giao hàng hiệu suất cao toàn bộ mọi người từ những người mua nhỏ, có quy mô hoàn toàn có thể không bảo vệ hạ tầng chuyên được dùng. Chi tiêu tăng trưởng và bảo dưỡng ứng dụng được san sẻ, giảm tiêu tốn, dẫn đến tiết kiệm ngân sách và chi phí được chuyển cho bạn, người mua. Hỗ trợ dịch vụ tốt hơn. Mang lại quyền lợi lâu bền hơn cho những nhà sản xuất cũng như người dùng, hoàn toàn có thể là về mặt bảo dưỡng, ngân sách góp vốn đầu tư hoặc tăng trưởng. Khó backup database riêng không liên quan gì đến nhau từng tenantDữ liệu phìm to nhanh gọn Khó khăn khi scale mạng lưới hệ thống .– Hệ thống quản trị shop được cho phép nhiều đại lý hoàn toàn có thể truy vấn với những thông tin tài khoản độc lập, tài liệu độc lập, nhưng cùng chung 1 mạng lưới hệ thống site .– Hệ thống quản trị công văn sử dụng trong tổng công ty và nhiều công ty con, cùng site nhưng tài liệu độc lập .– Hệ thống quản trị dự án Bất Động Sản Jira– Hệ thống CRM của zoho, saleforce …Nhiều mạng lưới hệ thống sử dụng SQL server, Oracle … phong cách thiết kế mạng lưới hệ thống multi tenancy theo một trong những kiến trúc sau .

Có 3 phương án multi tenant

Phương án I. Cùng chung một cơ sở dữ liệu (database), chia sẻ bảng (table)
Tất cả các bảng liên quan đều có 1 khóa ngoại là UserId. Dữ liệu sản phẩm của từng sale đều được lưu chung trong bảng Product, nhưng được phân biệt nhau bởi trường UserId.
Điểm mạnh:– Thiết kế lưu trữ đơn giản.– Dễ cho việc phát triển.– Không gặp phải vấn đề đồng bộ cấu trúc bảng trong quá trình phát triền.Phương án I. Cùng chung một cơ sở tài liệu ( database ), san sẻ bảng ( table ) Tất cả những bảng tương quan đều có 1 khóa ngoại là UserId. Dữ liệu mẫu sản phẩm của từng marketing đều được lưu chung trong bảng Product, nhưng được phân biệt nhau bởi trường UserId. Điểm mạnh : – Thiết kế tàng trữ đơn thuần. – Dễ cho việc tăng trưởng. – Không gặp phải yếu tố đồng nhất cấu trúc bảng trong quy trình phát triền .Nhược điểm : – Không độc lập database nên việc một shop hoàn toàn có thể xem tài liệu của shop khác nếu có quyền truy vấn SQL, phân quyền trên SQL thực sự là yếu tố lớn. – Vấn đề backup, restore tài liệu cho từng shop là gần như không hề, chỉ hoàn toàn có thể backup cho toàn bộ. – Vấn đề phát sinh thực sự phức tạp khi tài liệu phình to, rất khó khăn vất vả trong việc backup, restore … – Khó khăn khi scale mạng lưới hệ thống .Lời khuyên : Phương án này chỉ dùng làm những mạng lưới hệ thống nhỏ, ít tài liệu, phát sinh tài liệu không lớn .

Phương án II. Cùng chung database, chia sẻ schema

Hướng thiết kế này sử dụng một cơ sở dữ liệu, mỗi tenant tương ứng 1 schema. Có một schema chung để quản lý những các dữ liệu chung, quản lý thông tin về tenants. Cấu trúc các bảng ở tất cả các tenant đều giống nhau.Cần 1 schema chuẩn để dựa vào đó tạo ra tenant mới trong quá trình thêm mới tenant.Hướng phong cách thiết kế này sử dụng một cơ sở tài liệu, mỗi tenant tương ứng 1 schema. Có một schema chung để quản trị những những tài liệu chung, quản trị thông tin về tenants. Cấu trúc những bảng ở tổng thể những tenant đều giống nhau. Cần 1 schema chuẩn để dựa vào đó tạo ra tenant mới trong quy trình thêm mới tenant .Xem thêm : Slice Là Gì Trong Tiếng Anh ? Nghĩa Của Từ Slices Trong Tiếng Việt
Schema là một khái niệm mới được đưa vào SQL Server từ phiên bản 2005, nó là một namespace dùng để gom nhóm các table có chung một đặc điểm nào đó đễ dễ dàng quản lý. Nếu bạn không sử dụng schema trong CSDL thì nó sẽ lấy schema mặc định là dbo
Ưu điểm của schemaGiúp nhóm các Database Object lại với nhau cho dễ quản lýCho phép phân quyền ở schema tăng tính bảo mật
Schema là một khái niệm mới được đưa vào SQL Server từ phiên bản 2005, nó là một namespace dùng để gom nhóm những table có chung một đặc thù nào đó đễ thuận tiện quản trị. Nếu bạn không sử dụng schema trong CSDL thì nó sẽ lấy schema mặc định là dboƯu điểm của schemaGiúp nhóm những Database Object lại với nhau cho dễ quản lýCho phép phân quyền ở schema tăng tính bảo mật thông tinVí dụ trong lược đồ CSDL của bạn có hai loại table chính như sau : Các table về tin tức -> mình sẽ tạo schema tên là news gồm những table tương quan đến tin tứcCác table mạng lưới hệ thống -> mình sẽ tạo schema tên là sys gồm những table tương quan đến mạng lưới hệ thống

Trong một database thì tên của schema là duy nhất, luôn được chỉ định với cú pháp: server.database.schema.object.

Xem thêm: PAGES là gì? -định nghĩa PAGES

Ưu điểm : Khi bạn phân nhóm những table lại thì sẽ rất thuận tiện quản trị, và bạn hoàn toàn có thể phân quyền quản trị từng schema cho từng user khác nhau, đây chính là điểm mạnh của schema .2. Cách tạo Schema với lệnh Create SchemaSQL Server cung ứng vừa đủ công cụ giao diện đồ họa đến công cụ dòng lệnh nên bạn có hai cách để tạo schema : Cách thứ nhất là sử dụng công cụ SSMS.Cách thứ hai là sử dụng lệnh Create Schema .Sử dụng SSMS thì bạn click chuột phải vào database và chọn Create schema, còn trong bài này mình sẽ hướng dẫn sử dụng tạo bằng dòng lệnh CREATE SCHEMA .Như ở ví dụ trên, giờ đây mình sẽ tạo hai schema tên là news và sys .CREATE SCHEMA news ; CREATE SCHEMA sys ;3. Cách xóa Schema với lệnh DROP SCHEMASau khi tạo schema xong nếu bạn không dùng tới thì hãy sử dụng lệnh DROP SCHEMA nhé .
DROP SCHEMA news;DROP SCHEMA sys;DROP SCHEMA news ; DROP SCHEMA sys ;4. Phân quyền cho schemaGiả sử bạn muốn user thehalfheart có quyền quản trị cho schema news thì chỉ cần sử dụng lệnh GRANT, còn xóa quyền thì dùng lệnh DENY .Cấp quyền :GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: TOXóa quyền :
DENY SELECT, INSERT, UPDATE, DELETE ON SCHEMA ::  TO ;
Lý do nữa để dùng Schema là bảo mật (Security Policy), ta có thể phân quyền ở cấp độ toàn Schema thay vì từng object riêng biệt trong Schema.DENY SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: TO ; Lý do nữa để dùng Schema là bảo mật thông tin ( Security Policy ), ta hoàn toàn có thể phân quyền ở Lever toàn Schema thay vì từng object riêng không liên quan gì đến nhau trong Schema .

Điểm mạnh:– Thiết kế theo hướng này thì có thê thay đổi các cấu trúc, hàm, thủ tục riêng rẽ giữa các tenant.– Dễ phân quyền hơn phương án 1.– Tiết kiệm được chi phí khi triển khai (do số lượng database chỉ là rất ít)

Xem thêm: Pamphlet là gì? Ấn phẩm được sử dụng nhiều trong ngành quảng cáo

Nhược điểm : – Phương án backup độc lập từng tenant là yếu tố nan giải, lập trình viên sẽ phải tự quản lý việc backup / restore cho từng tenant bằng code. – Việc đồng điệu những đổi khác trong cấu schema là yếu tố cần phải chăm sóc. – Dữ liệu trong database sẽ phình ra nhanh gọn. – Số lượng schema trong 1 database là có số lượng giới hạn. – Khó khăn khi scale mạng lưới hệ thống .

Phương án III. Mỗi tenant một database.

Phương án này sẽ thực thi như sau : mạng lưới hệ thống sẽ gồm 1 database chung ( chuyên để quản trị những phần như list tenant, user, role … ), 1 database tenant chuẩn ( chứa tài liệu chuẩn ), và những tenant khác. Mỗi tenant sẽ là 1 database, người dùng sẽ có quyền truy vấn vào database chung và database tenant của user đó .Chọn giải pháp 1 để thực thi do dễ tăng cấp dễ thực thi và tất cả chúng ta chỉ nên chăm sóc đến giải pháp của giải pháp 1 thôi nhé ?

[ad_2]

Related Posts

Trò chơi thoát khỏi đền thờ 2

[ad_1]  ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương…

Trò chơi người que đu dây 2

[ad_1]  ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương…

Trò chơi Bida 3 băng

[ad_1] ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương án…

Trò chơi Bida 2 người

[ad_1] ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương án…

Trò chơi Bida 3D online

[ad_1] ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương án…

Trò chơi quán nước giải khát

[ad_1] ContentsLợi ích của Multi tenant là gì? Khuyết điểm Multi tenant là gì? Hiện tại chúng ta thường thấy hệ thống multi-tenacyvd:Có 3 phương án multi tenantPhương án…

Leave a Reply