天天看点

LDAP读书笔记6-数据设计

本文原创作品,如需转载请注明来源,作者:姜涛, [email protected]

数据设计

Directory是一个数据源(Data Source),保存了很多的数据元素(Data elements),数据元素对应了数据的值。

LDAP读书笔记6-数据设计
  • 一般与数据相关的问题

虽然我们生活在信息时代,但是我们会经常碰到如下的问题:

1、信息过量(导致我们很难查找)

2、信息不足(我们需要的信息往往不正确)

3、信息质量低、格式不对(或者是同样的数据以不同的格式存储,如电话号码等)、或者干脆就是错误的信息(错误、冗余的信息)

4、过时的信息

  • 创建数据规则

1、决定哪些数据存储在directory service,哪些不存储的指导方针

2、访问数据的手册(权限)的指导方针

3、修改数据的手册(权限)的指导方针

4、法律考量

5、将数据存储在多个地方的指导方针

6、异常处理指导方针

  • 决定需要你需要哪些数据

建立一个列表,标明你需要哪些数据,这些数据的数据源在哪里。

  • 数据元素的特征

所有的数据都具备如下特征:

格式

数据大小

独立数据的个数(the number of distinct data value)

数据的所有者和限制

数据的消费者

数据被修改的频率(判读数据是动态数据或者是静态数据)

应用范围

与其他数据元素的关系

下面是一个经过分析后的例子

Sample Analysis of Data Element Characteristics

Element (Example)

Format

Size/ Number of Values

Owner

Consumers

Related to

Full name (John Jones )

Text

<128 chars. /1 or a few values

Personnel dept.

Users; BCES

User's entry

User ID (jjones )

Text

<8 chars. /1 value

IS dept.

BCES

User's entry

E-mail address ([email protected] )

Text (Internet mail address)

Many chars. /1 or a few values

IS dept.

Users; BCES

User's entry

Delivery address ([email protected] )

Text (Internet mail address)

Many chars. /1 value

User and system admins.

BCES

User's entry

  • 数据源

1、其他directory services

2、网络操作系统

3、数据库

4、用电子形式保存的的简单文件和表格

5、应用程序

6、管理员

7、最终用户

你可能需要从其他数据源获取数据,对于每一个你打算存储在directory service中的数据,你应该考虑如下的问题:

1、从哪些数据源获取初始值

2、从如果数据源的数据被更新后,你该怎么办

3、如果directory service中的数据被更新后,你该怎么办

你已经收集的数据元素的信息将会对上面的问题有所帮助,但是你不会一开始就得到所有的答案,但是很重要的一点是你应该提前思考这些问题。你不会希望你的directory service保存一些过时的信息,你也不会希望被人误解是要去取代其他重要的数据源,比方说是人力资源部门的数据库。

  • 管理好与其他数据源的关联关系

1、复制:如果你使用的directory service都是来自同一个厂商的产品,或者是用同一种协议(LDUP IETF标准)来复制的话,你可以使用内建的复制功能来保证多个service之间的数据一致性。一些第三方的软件根据通用的LDAP扩展也会提供LDAP到LDAP的复制,比方说是用changelog机制。

2、同步:比复制操作得更加频繁,但是对于数据一致性的保证却不如复制,同步可以在多个directory service之间操作,也可以在更多的数据源之间操作。同步的工具比较典型的是微软的Metadirectory Service,可以在微软的DS和其他不同的数据源之间的同步,包括Netscape DS,微软的Exchange Server,不同的关系型数据库,Lotus Notes和五格式文件。

同步是一个很复制的过程,如果你打算做同步的话,你必须考虑到以后的困难,大量的调整和内部开发将不可避免。当然,如果你能克服这些困难,同步还是一个相当不错的解决方案。

3、批量更新:是一种更松散的同步,并不是经常做,可能是一个月做一次,从一个根本不一样的数据源获取数据来合并数据。因为有很多异常情况需要处理,所以数据合并的程序一般都需要内部开发。批量更新成功的关键是确保开发的程序简化,提高效率,同时尽可能的使其自动化和万无一失。

4、政治考量(公司内部的政治)

继续阅读