精华帖 (0) :: 良好帖 (15) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-29
form_rr 写道 用key,value吧.我们的项目有50张报表,每张都不一样!
因此我们定义了元结构模板!然后定义一个配置界面, 再定义一个计算模板.最后把这些结合起来!在这个结合出来的大模板下 去定义项目的50张表!而且这个定义过程不需要编码,用户都可以参与! 因此我们实施时,只演示一,两张报表的定义过程.剩下的由用户自己定义. 大大减少了开发和实施的时间. 不过key,value方式的问题会造成数据爆增!几个月下来,核心储存表的记录量已经达到百万了.不过表分区很好的解决了数据量大的问题.我们分了20个区,这样每个区就没这么大的数据了. 不知道对你有否帮助! 感觉有点儿复杂. 你的意思是专门做一套数据存储和计算关系的系统? 这种计算关系的复杂性,客户能解决吗? 查询和统计怎么做? |
|
返回顶楼 | |
发表时间:2008-12-29
KEY-VALUE应该是比较有弹性的方法,特别对于用户管理的对象类别不固定的情况。比如说购物网站里面,物品“书籍”的属性和“手机”和属性显然不一样,而且未来还可能添加别的新类别。这种情况好像只能使用KEY-VALUE方法。我们的方法是建立三个表:基本表;属性表;模板表。
|
|
返回顶楼 | |
发表时间:2008-12-30
xiaoyu 写道
楼主为什么不去看一下magento的设计呢, key-value是比较流行的方法亚。
为了不浪费空间, 不同类型的值采用不同的表存储。 例如: Mysql数据库, 产品的一个表, 为了自定义字段, 就有product_field_long, product_field_text, product_field_varchar等等, 当然一个规则表/原数据表 product_field_meta 缺点就是性能可能慢一些, 不过可扩展性和空间使用性都很是最好的。 看一下开源的CMS, 都是你这种的需求, 我不知道openEdit(java的CMS)有没有这个功能, 但是magento, drupal都是有的,自己看看吧。
alfresco也有,自定义或者扩展文档的属性 |
|
返回顶楼 | |
发表时间:2008-12-30
那谁不说这个是不可答应的3大需求吗,因为以后的需求是,动态字段可搜索,动态字段配合权限什么。
|
|
返回顶楼 | |
发表时间:2008-12-30
大家很热烈啊!呵呵!
其实用key,value无所不能! 用这种方式实现的统计,就不能单靠数据库了,还需要我们动动手,写点代码! 我们的项目中定义了100个左右的系统函数,供开发人员使用! 这些函数是我们在开发过程中总结和归纳出来的宝贵财富,目前能满足系统的95%的需求 那剩下的5%还是要编码的! 其实讲白了,就是复用,大量的复用.包括结构,表现,计算,数据库访问等,我们都做了复用的对象(封装而已).一有新的业务,就拿那些已经做好的对象拼起来,像搭积木一样!呵呵!目前我们有20多个这些超级的可复用的对象.再加上上面提到到100个小函数.通过它们的排序和组合,绝大部分满足了我们业务的要求! 这一切的一切都是基于key,value方式的!包括存储,单元格计算,表间计算等! 所以我觉得key,value方式真的非常的强大! 告诉大家一个现在很红的key,value方式存储的数据库:InSQL. 它是工业自动化里储存的强者.每秒中可以插入250,000条记录! 像一天当中的电流,电压,压力,温度什么的,都储存在这个数据库中. 它储存的基本结构如下: TAGNAME____DATETIME______________VALUE PL00001____2008-12-28 13:19:05___1.33 PL00001____2008-12-28 13:19:10___1.36 PL00001____2008-12-28 13:19:15___1.40 PL00001____2008-12-28 13:19:20___1.38 这里PL00001代表一个采样点,例如电流. 该例子中反应了4个时刻的数据变化情况. 大家可以想象这种储存方式的数据量! 真的很强! |
|
返回顶楼 | |
发表时间:2008-12-30
我的一点设想,能不能在程序里自己构建一个数据库模型,至于性能肯定要差就是真实数据库基础上搭建的逻辑数据库,可以借鉴java写的内存数据库(我对ruby不太熟)
|
|
返回顶楼 | |
发表时间:2008-12-30
gritlimu 写道 我的一点设想,能不能在程序里自己构建一个数据库模型,至于性能肯定要差就是真实数据库基础上搭建的逻辑数据库,可以借鉴java写的内存数据库(我对ruby不太熟)
这样做的问题是,你就不能和数据库里的数据一起作查询了,或者你把所有的都放到内存数据库里面,这样是不是太大了?这其实和动态改数据库结构没太大区别。 |
|
返回顶楼 | |
发表时间:2008-12-30
form_rr 写道 大家很热烈啊!呵呵!
其实用key,value无所不能! 用这种方式实现的统计,就不能单靠数据库了,还需要我们动动手,写点代码! 我们的项目中定义了100个左右的系统函数,供开发人员使用! 这些函数是我们在开发过程中总结和归纳出来的宝贵财富,目前能满足系统的95%的需求 那剩下的5%还是要编码的! 。。。。。。 你的意思是统计查询要把数据加载到程序里面?这样对于大数据量来说,性能不能接受吧。 还是这是数据库上面的函数,用这些函数来封装来内部的复杂性? |
|
返回顶楼 | |
发表时间:2008-12-30
那个数据库要多少钱?
|
|
返回顶楼 | |
发表时间:2008-12-30
LZ,这样的功能作OA系统的都应该遇到过,不是很难的.
|
|
返回顶楼 | |