Sitecore là một CMS mạnh mẽ và linh hoạt, được xây dựng dựa trên mô hình ba cơ sở dữ liệu chính:
👉 Core, Master và Web.
Mỗi database phục vụ một mục đích riêng biệt trong quá trình phát triển, quản lý và hiển thị nội dung.
Hiểu rõ sự khác nhau giữa chúng là bước quan trọng đầu tiên khi bạn bắt đầu làm việc với Sitecore.
| Database | Mục đích chính | Ai sử dụng | Nội dung chứa |
|---|---|---|---|
| Core | Chứa dữ liệu cấu hình và UI của Sitecore | Hệ thống, Developer | Thông tin người dùng, vai trò, thiết lập giao diện, Launchpad, Ribbon... |
| Master | Cơ sở dữ liệu chính để soạn thảo và chỉnh sửa nội dung | Content Editor / Author | Tất cả Item (trang, dữ liệu, template...) ở trạng thái nháp hoặc chưa publish |
| Web | Cơ sở dữ liệu chạy thực tế trên website | Người dùng cuối (Frontend) | Chỉ chứa nội dung đã publish từ Master |
Dùng để lưu trữ các cấu hình hệ thống Sitecore, bao gồm:
Cấu hình giao diện người dùng (UI elements)
Launchpad items, Ribbon, Dashboard
Người dùng, quyền, vai trò (Roles & Membership)
Khi bạn đăng nhập vào Sitecore, dữ liệu xác thực (user, password) được lấy từ Core DB.
📍 Ví dụ:
Khi bạn tùy chỉnh giao diện Sitecore (ẩn bớt menu hoặc thêm shortcut trên Launchpad), các thay đổi đó được lưu ở Core Database.
Là nơi các biên tập viên (content authors) làm việc.
Lưu toàn bộ nội dung, template, media, layout... trong Sitecore.
Mọi thay đổi, thêm/xóa/sửa Item đều diễn ra trong Master DB.
Chỉ khi Publish, dữ liệu mới được sao chép sang Web DB.
📍 Ví dụ:
Bạn chỉnh sửa trang “About Us” trong Sitecore → nội dung lưu ở Master.
Khi bạn nhấn “Publish” → bản sao của trang này được đẩy sang Web Database.
Đây là database production, được Frontend website sử dụng.
Chỉ chứa những Item đã được publish từ Master.
Không bao giờ chỉnh sửa trực tiếp trong Web DB.
Dữ liệu ở đây được tối ưu để tăng tốc độ tải trang và giảm rủi ro khi thay đổi nội dung.
📍 Ví dụ:
Người dùng truy cập https://mywebsite.com/about → hệ thống đọc nội dung từ Web Database, không phải từ Master.
💡 Khi publish, Sitecore sao chép dữ liệu cần thiết (Item, field, media...) từ Master → Web.
Core DB không bị ảnh hưởng trong quá trình này.
Bạn có thể kiểm tra trong Sitecore Configuration File:
📄 App_Config/ConnectionStrings.config
<connectionStrings>
<add name="core" connectionString="Data Source=.;Initial Catalog=Sitecore_Core;Integrated Security=True" />
<add name="master" connectionString="Data Source=.;Initial Catalog=Sitecore_Master;Integrated Security=True" />
<add name="web" connectionString="Data Source=.;Initial Catalog=Sitecore_Web;Integrated Security=True" />
</connectionStrings>
Tại đây, bạn có thể thay đổi tên server SQL hoặc database nếu cần (thường khi deploy qua môi trường khác như Staging/Production).
Ngoài 3 DB chính, một số hệ thống Sitecore có thể có thêm:
| Database | Vai trò |
|---|---|
| Reporting | Lưu dữ liệu analytics, thống kê truy cập, chiến dịch marketing |
| Forms | Lưu thông tin form submission (nếu dùng Sitecore Forms) |
| Experience Analytics / xDB | Lưu trữ dữ liệu hành vi người dùng, personalization |
✅ Không chỉnh sửa trực tiếp Web DB – mọi thay đổi nên thực hiện trong Master và publish.
✅ Tạo bản sao lưu (backup) định kỳ cho cả 3 DB.
✅ Tách môi trường (dev, staging, production) dùng các DB riêng biệt.
✅ Kiểm soát publish rights để tránh người không có quyền publish lên web.
✅ Sử dụng Preview Mode để kiểm tra nội dung trong Master trước khi publish.
| Database | Mục đích | Nội dung |
|---|---|---|
| Core | Giao diện & người dùng hệ thống | UI, cấu hình, roles |
| Master | Chỉnh sửa nội dung | Toàn bộ Item đang soạn thảo |
| Web | Website thực tế | Item đã publish |
Hiểu rõ vai trò của từng database giúp bạn:
Quản lý nội dung hiệu quả hơn
Tránh mất dữ liệu hoặc sai nội dung khi publish
Dễ dàng debug và triển khai nhiều môi trường
👉 “Standard Values và Token trong Template” – Dùng để tạo giá trị mặc định cho field