Multi-Tenant Là Gì

     
Multi-Tenant - Multi-tenancy tức là một phiên bản duy tuyệt nhất của phần mềm và đại lý hạ tầng hỗ trợ của nó phục vụ nhiều khách hàng. Mỗi khách hàng chia sẻ ứng dụng ứng dụng và cũng chia sẻ một đại lý dữ liệu. Tài liệu của từng người người sử dụng bị cô lập và vẫn vô hình đối với những quý khách hàng khác.Lợi ích của Multi tenantChi giá tiền thấp hơn trải qua tính kinh tế theo quy mô: Với nhiều khách du lịch hàng, nhân rộng có ý nghĩa sâu sắc cơ sở hạ tầng ít hơn nhiều so với phương án lưu trữ vì người sử dụng mới gồm quyền truy cập vào cùng một phần mềm cơ bản.Hơn nữa, bạn dùng không cần bận tâm về việc update các công dụng và cập nhật mới, họ cũng không cần phải trả phí gia hạn hoặc chi tiêu khổng lồ. Các phiên bản cập nhật là một phần của đk hoặc, nếu yêu cầu trả ngẫu nhiên khoản phí duy trì nào, nó được chia sẻ bởi không ít người dân thuê, vày đó khiến cho nó phát triển thành danh nghĩa (nhân tiện, bao gồm các phiên bản cập nhật).Kiến trúc Multi tenant phục vụ công dụng tất cả mọi người từ các người sử dụng nhỏ, bao gồm quy mô có thể không bảo đảm an toàn cơ sở hạ tầng chăm dụng. Túi tiền phát triển và gia hạn phần mềm được phân tách sẻ, giảm bỏ ra tiêu, dẫn đến tiết kiệm được chuyển đến bạn, khách hàng.

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

Bạn vẫn xem: Multi-tenant là gì, tổng quan multi tenancy

Hỗ trợ dịch vụ giỏi hơn.Mang lại tiện ích lâu dài cho các nhà cung cấp cũng như tín đồ dùng, có thể là về mặt bảo trì, chi phí đầu tư hoặc vạc triển.Khuyết điểm Multi tenant:Khó backup database đơn chiếc từng tenantDữ liệu phìm to lập cập Khó khăn lúc scale hệ thống.
*

Có 3 giải pháp multi tenantPhương án I. Cùng phổ biến một cơ sở tài liệu (database), share bảng (table)
Tất cả các bảng tương quan đều có 1 khóa ngoại là UserId. Dữ liệu sản phẩm của từng sale phần lớn được lưu phổ biến trong bảng Product, cơ mà được minh bạch nhau vì trường UserId.Điểm mạnh:- thi công lưu trữ solo giản.- dễ dàng cho việc phát triển.- Không chạm chán phải sự việc đồng bộ cấu tạo bảng trong quy trình phát triền.Nhược điểm:- Không tự do database cho nên việc một shop có thể xem dữ liệu của shop khác nếu gồm quyền truy vấn SQL, phân quyền trên SQL thực sự là sự việc lớn.- vụ việc backup, restore tài liệu cho từng siêu thị là gần như không thể, chỉ hoàn toàn có thể backup mang đến tất cả.- vụ việc phát sinh thực sự tinh vi khi tài liệu phình to, rất khó khăn trong việc backup, restore...- khó khăn khi scale hệ thống.Lời khuyên: phương án này chỉ sử dụng làm những khối hệ thống nhỏ, không nhiều dữ liệu, vạc sinh dữ liệu không lớn.Phương án II. Cùng thông thường database, share schemaHướng xây dựng này sử dụng một cửa hàng dữ liệu, từng tenant tương xứng 1 schema.

Xem thêm: Cài Đặt Hiển Thị Cuộc Gọi Zalo Trên Samsung, 4 Cách Khắc Phục



Xem thêm: Sạc Pin Qua Đêm Cho Iphone, Những Điều Cần Lưu Ý Khi Sạc

Bao gồm một schema bình thường để quản lý những những dữ liệu chung, làm chủ thông tin về tenants. Cấu trúc các bảng ở toàn bộ các tenant đông đảo giống nhau.Cần 1 schema chuẩn chỉnh để nhờ vào đó tạo ra tenant bắt đầu trong quy trình thêm mới tenant.Schema là 1 trong khái niệm bắt đầu được gửi vào SQL hệ thống từ phiên bạn dạng 2005, nó là 1 trong namespace dùng làm gom nhóm những table tất cả chung một điểm lưu ý nào kia đễ thuận tiện quản lý. Nếu bạn không sử dụng schema trong csdl thì nó đã lấy schema khoác định làdbo.Ưu điểm của schema
Giúp nhóm các Database Object lại cùng với nhau mang lại dễ cai quản lýCho phép phân quyền ở schema tăng tính bảo mậtVí dụ trong lược đồ dùng CSDL của khách hàng có hai loại table chính như sau:Các table về tin tức -> mình sẽ tạo nên schema thương hiệu là news có những table tương quan đến tin tứcCác table khối hệ thống -> mình sẽ tạo nên schema tên là sys bao gồm những table liên quan đến hệ thốngTrong một database thì tên của schema là duy nhất, luôn được chỉ định và hướng dẫn với cú pháp: server.database.schema.object.Ưu điểm: khi chúng ta phân nhóm các table lại thì sẽ rất dễ dàng quản lý, và bạn cũng có thể phân quyền quản lý từng schema cho từng user không giống nhau, đây đó là điểm mạnh của schema.2. Giải pháp tạo Schema với lệnh Create SchemaSQL Server cung ứng đầy đủ chính sách giao diện bối cảnh đến hình thức dòng lệnh nên chúng ta có hai cách để tạo schema:Cách đầu tiên là sử dụng công vắt SSMS.Cách thiết bị hai là sử dụng lệnh Create Schema. Sử dụng SSMS thì bạn nhấp chuột phải vào database và chọn Create schema, còn trong bài bác này mình đã hướng dẫn sử dụng tạo bởi dòng lệnh CREATE SCHEMA.Như sống ví dụ trên, hiện nay mình sẽ tạo hai schema tên là news và sys.CREATE SCHEMA news;CREATE SCHEMA sys;3. Bí quyết xóa Schema với lệnh DROP SCHEMASau khi tạo schema hoàn thành nếu bạn không cần sử dụng tới thì hãy sử dụng lệnh DROP SCHEMA nhé.DROP SCHEMA news;DROP SCHEMA sys;4. Phân quyền mang đến schema Giả sử bạn có nhu cầu user thehalfheart tất cả quyền làm chủ cho schema news thì chỉ việc sử dụng lệnh GRANT, còn xóa quyền thì cần sử dụng lệnh DENY.Cấp quyền:GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: to lớn Xóa quyền:Như vậy câu hỏi phân nhóm như vậy này giúp lược đồ các đại lý dữ liệu của bạn trông chuyên nghiệp hơn, thuận tiện phân quyền và bảo mật hơn.Ưu điểm: khi bạn phân nhóm những table lại thì vẫn rất thuận tiện quản lý, và bạn cũng có thể phân quyền cai quản từng schema đến từng user không giống nhau, đây chính là điểm mạnh mẽ của schema.Lý vì nữa để sử dụng Schema là bảo mật (Security Policy), ta có thể phân quyền ở lever toàn Schema thay vì từng object hiếm hoi trong Schema.Điểm mạnh:- xây dựng theo hướng này thì gồm thê biến hóa các cấu trúc, hàm, giấy tờ thủ tục riêng rẽ giữa những tenant.- dễ phân quyền hơn giải pháp 1.- tiết kiệm được giá thành khi thực hiện (do số lượng database chỉ nên rất ít)Nhược điểm:- phương án backup hòa bình từng tenant là sự việc nan giải, xây dựng viên sẽ cần tự làm chủ việc backup/restore mang lại từng tenant bằng code.- Việc đồng hóa những biến hóa trong cấu schema là vấn đề cần được quan tâm.- dữ liệu trong database đang phình ra nhanh chóng.- số lượng schema trong một database là có giới hạn.- khó khăn khi scale hệ thống.Phương án III. Từng tenant một database.Phương án này sẽ tiến hành như sau: hệ thống sẽ gồm 1 database phổ biến (chuyên để làm chủ các phần như danh sách tenant, user, role ...), 1 database tenant chuẩn chỉnh (chứa dữ liệu chuẩn), và các tenant khác.Mỗi tenant sẽ là 1 trong database, người tiêu dùng sẽ có quyền truy vấn vào database bình thường và database tenant của user đó.Kết luận:Chọn giải pháp 1 để triển khai do dễ upgrade dễ thực hiện