Back To Home

Name: Ngày 5: Sitecore Database (Core, Master, Web)

🧩 Hiểu về Sitecore Database: Core, Master và Web

🧠 1. Giới thiệu tổng quan

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, MasterWeb.

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.


🗄️ 2. Tổng quan 3 Database chính

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

🧱 3. Chi tiết từng Database

🔹 Core Database

  • 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.


🔹 Master 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.


🔹 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.


🔁 4. Quy trình Publish trong Sitecore

 
[Author chỉnh sửa nội dung] ↓ (Lưu trong Master) ↓ [Nhấn Publish] ↓ (Đồng bộ Item sang Web) ↓ [Người dùng xem trên website]

💡 Khi publish, Sitecore sao chép dữ liệu cần thiết (Item, field, media...) từ MasterWeb.
Core DB không bị ảnh hưởng trong quá trình này.


⚙️ 5. Cách kiểm tra hoặc thay đổi database trong Sitecore

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).


🧩 6. Các môi trường khác có thể gặp

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

🧭 7. Best Practices khi làm việc với Database

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.


📚 8. Tổng kết

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


🔗 Bài tiếp theo:

👉 “Standard Values và Token trong Template” – Dùng để tạo giá trị mặc định cho field

Donald Trump

Để trở thành người chiến thắng, bạn cần biết khi nào là đủ. Đôi khi trong cuộc sống, bạn phải từ bỏ cuộc chiến và chuyển sang mục tiêu mới mang lại hiệu quả hơn

Related Post