2009-04-03 29 views
7

Tôi rất phù hợp với mô hình quan hệ nhưng mới với mô hình LDAP và đang tìm kiếm các phương pháp hay nhất để thiết kế lược đồ LDAP. Rất thích biết tương đương của hình thức bình thường thứ ba và các thực hành khác trong thế giới của LDAP là gì?Mô hình hóa LDAP Thực tiễn tốt nhất

Liên kết đến các giấy tờ trắng mở rộng về chủ đề này được đánh giá cao.

+0

Bất kỳ liên kết nào đến danh sách hoàn toàn đầy đủ về các phương pháp hay nhất về mô hình hóa LDAP đều được đánh giá cao. – McGovernTheory

Trả lời

9

Chọn một schema chuẩn như core, cosine, inetOrgPerson, eduPerson, Java Objects, etc. thích hợp cho mục đích dự định của bạn. Hầu hết các máy chủ LDAP đều có bộ sưu tập mặc định.

Ưu tiên các thành phần hiện có, nhưng nếu bạn cần extend the schema, tiền tố có comCompany (tên miền của công ty bạn hoặc mã định danh duy nhất khác) để tránh mâu thuẫn với các yếu tố tiêu chuẩn trong tương lai.

2

LDAP vốn đã là KHÔNG tuân thủ ngay cả biểu mẫu bình thường đầu tiên - một số thuộc tính của nó có thể chứa nhiều giá trị.

LDAP là hệ thống được thiết kế để có hiệu suất đọc/tra cứu tối ưu, ví dụ: nó phù hợp hơn trong một kịch bản mà bạn sẽ đọc/tra cứu cách dữ liệu nhiều hơn thay đổi nó (-> thư mục; danh bạ của công ty bạn sẽ không thay đổi hàng chục lần một ngày).

LDAP không hướng đến hoặc được thiết kế để thay thế hoặc cạnh tranh với hệ thống cơ sở dữ liệu quan hệ tiêu chuẩn vượt trội trong việc nhập/chuyển dữ liệu, nơi một số lượng lớn hoạt động của bạn sẽ chèn và/hoặc cập nhật dữ liệu. Đó là những gì RDBMS hoàn toàn phù hợp.

Vì vậy, kết thúc: LDAP so với RDBMS thực sự là không bắt đầu - và hai thế giới hoàn toàn khác biệt và khá khác biệt về phong cách làm việc của họ. Tôi sẽ không khuyên bạn nên cố gắng áp dụng một cách mù quáng thứ gì đó từ thế giới này sang thế giới khác - nó sẽ là một trận đấu tồi tệ.

Đối với nguồn cảm hứng cho thiết kế lược đồ LDAP - Tôi chắc chắn sẽ xem Active Directory của Microsoft, eDirectory của Novell (hoặc bất kỳ ngày nào được gọi là những ngày này), và có thể là các thư mục LDAP khác.

Marc

+1

Tôi đã sử dụng 3NF như một sự tương tự và chỉ đơn giản là tìm kiếm một danh sách liệt kê các phương pháp hay nhất để lập mô hình LDAP – McGovernTheory

+0

Ngoài ra thư mục LDAP không triển khai bất kỳ loại tính toàn vẹn tham chiếu nào. – pjp

+0

1. Nhiều máy chủ thư mục chuyên nghiệp có các plugin toàn vẹn tham chiếu. 2. Tuyên bố về "đọc nhiều hơn thay đổi" không còn đúng đối với các máy chủ hiện đại, chất lượng. Các máy chủ mới hơn có khoảng cách hẹp hơn nhiều giữa tìm kiếm/so sánh và cập nhật thời gian phản hồi. –

4

Trải nghiệm của chúng tôi cho thấy thiết kế lược đồ và DIT phụ thuộc rất nhiều vào mục đích của máy chủ LDAP.

Đối với giản đồ, nói chung, tốt nhất là nên gắn bó với "chuẩn" của nhà cung cấp máy chủ LDAP.

Đối với cấu trúc DIT, trừ khi nó dành cho tệp và dịch vụ in (tức là Active Directory) hoặc OES (Netware) thì thường có cấu trúc "phẳng" cân tốt hơn.

Nếu nó là một triển khai lớn (tức là> 100k) thì các nhóm nên tránh, nếu có thể.

-jim

3

Dựa trên kinh nghiệm của tôi denormalize càng nhiều càng tốt, là mục tiêu, như đã đề cập trước đó, với LDAP là tra cứu rất nhanh, nhưng điều đó có nghĩa là chèn các bản ghi có thể mất nhiều thời gian, sau một thời gian . Nó cũng quan trọng để chắc chắn rằng bạn có thể giữ bản sao lưu của ldap.

Bạn có thể muốn xem xét tạo nhiều lớp khác nhau, chẳng hạn như người dùng, nhưng cũng có một lớp cho người dùng ủy quyền, nếu cần.

Nhìn vào những gì có thể sẽ cần thiết. Ví dụ, tại trường đại học, tôi đã nhận ra rằng một số người chỉ có mối quan hệ trực tiếp với trường đại học sẽ có tài khoản LDAP.

Khi bạn tìm hiểu xem loại người dùng hoặc tài nguyên nào sẽ nằm trong ldap thì nó sẽ giúp bạn xác định cách thiết lập mọi người. Ví dụ: nếu bạn có một lớp chỉ là tên người dùng hoặc số nhận dạng và mật khẩu và có lẽ là một chứng chỉ thì sẽ rất hữu ích cho sự linh hoạt.

Nếu bạn định cho phép mọi người đăng nhập từ tài khoản unix của họ thì có một số lớp nhất định phải nằm trong lược đồ.

Các vấn đề liên quan