只显示主题贴
项目开发,通常需要支持的数据库是确定的.但是产品开发,通常需要支持多种数据库.采用怎样的方案可以降低开发,测试及维护工作量,同时有很好的扩展性支持新数据库呢? 目前能考虑到的有如下几种方式:构建一个数据访问抽象层,针对每一种数据库,设计一套数据库表,一套业务接口实现.这种方式的优点是可以充分利用每一种数据库的特性(特别在性能调优方面),缺点是开发,测试及维护的工作量都非常大,如果要添加或修改一个业务功能,必须维护多个地方.数据库设计使用所有数据库都支持的特性,包括数据类型,查询语法等,避免使用数据库特定的特性.这种方式的优点是可以使用一套数据库设计及应用程序支持所有数据库,缺点是所有 ...
- 进入论坛 行业解决方案 版
如果针对服务层,有两种不同的客户端呢?一种是基于WEB的,一种是基于SWING的,这种时候OPEN SESSION IN VIEW就不起作用了。
另外即使是B/S的应用,也有很多后台操作和WEB前端的操作,一个是需要懒加载,一个是不需要的。
- 进入论坛 Java 版
HIBERNATE提供了懒加载策略,配合open session in view可以避免在不需要的时候加载关联对象。 问题是很多情况下,同一个对象可能需要在不同的场合使用,有些场合可能需要一次性加载所有的关系对象。比如在用户登录时,需要一次获取用户的所 有关联对象,而在用户CRUD操作时,需要尽量使用懒加载避免加载不需要的对象。 可以将lazy设为true,针对登录请求提供一个不同的接口来解决上述问题,但是如果系统中存在大量这种情况,有什么比较好的办法来解决呢? &nb ...
- 进入论坛 Java 版
项目中需要用到报表,目前使用的是BIRT,遇到两个问题:
l BIRT对分页功能不能很好的支持,runtime包含的WEB应用的frameset方式是支持分页的,但是很难和现有的WEB应用融合,而且要改样式和布局比较困难。
l 如何实现动态图表:一个报表中包含多个折线图,但是拆线 ...
- 进入论坛 入门讨论 版
需求描述:
要统计某台机器在某个时间范围内的故障时间,一台机器可能有N种统计指标,比如CPU,MEMORY,DISK,一台机器的故障时间需要对各种统计指标的故障时间求并集。
数据库里会记录每次故障发生的起始时间,结束时间。有什么好的算法来计算故障时间吗?
如果将每个时间范围做比较合并,是最直观的想法,但是性能可以想像特别差。但是也没有更好的想法。
&nb ...
- 进入论坛 综合技术 版
引用1.使用自增量并不就是依赖于数据库了。主流的数据库都支持自增量或自增量的替代方式(比如Oracle就可以使用sequence),你们的系统是否打算支持非主流的数据库?
2.如果系统中都使用自增量作为主键,是否算“统一的方式”?
3.使用无符号整数最少够用几十年了。你的系统期望它运行多少年?
4.整数索引的索引性能、整数之间的比较的性能应该都比字符串好
其实我是倾向于使用数据库本身的功能的,只是有些情况下,除了保留意见,没有其他选择。
- 进入论坛 Java 版
引用想要达到怎么样一个速度,比如读写多少ms
多少用户操作这个系统,多少并发用户。
对读的要求高一些吧,这些树状结构,大多是元数据,改动的频率相对来说比较少,但是页面展现很多地方都
要展现这种树状结构,比如选择一个部门。
并发用户差不多100吧,有个别树的节点可能会达到几K个,WEB展现速度要求在3m内。
- 进入论坛 Java 版
目前系统中有大量的树状结构需要表达,比如部门/组织机构,设备类型。
我采用的表设计是添加一个parentId字段,应该是如下这篇文章http://dev.mysql.com/tech-resources/articles/hierarchical-data.html中所说的Adjacency List Model,现在我需要能在内存中构建出树状结构.
上述这篇文章的作者所设计Nested Set Model虽然是不错的设计,但是需要用到存储过程,为了屏蔽多数据库问题,这是我们头极力反对的。
庄兄在引用http://www.javaeye.com/t/15829.html[url]中也提出 ...
- 进入论坛 Java 版
引用实时采集的数据表为什么要逻辑主键(id),基本上这种表都可以使用业务主键的(能唯一标示的属性集合)
这样不就避免了生成id消耗的性能了
感觉这种解决方案才是正道。
涉及到海量数据及历史数据表,数据量的增长是惊人的,如果使用自增序列,迟早
有用尽的一天。
而如我主管说的那种方式(使用HIBERNATE的UUID),无疑对性能会有损失。
而历史表和实时信息表确实可以需要一个唯一主键ID。
TKS.
- 进入论坛 Java 版
以前在项目中设计数据库表,主键一般采用数据库的自增字段。现在的项目中,项目经理要求所有的数据库表的主键采用32位编码字符串,他的理由如下:
引用1,我是希望尽量避开数据库自身限制
2,尽量使用统一的方式生成主键
3,用32位Hex算法生成的字符永远满足记录条数,但32位整数自增会导致资源耗尽,字段长度不够用
他的最主要的论点是数据库中有两个表,要记录实时采集的性能数据,每天的记录数可以达到10万级别。
我个人觉得利用数据库本身的键生成机制会比较好一点,但是以前也没有做过海量数据库相关的项目,希望有经验能谈一下,这种情况下采取哪种方式比较好一些呢?
- 进入论坛 Java 版
- 浏览: 91520 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
链接
最新评论
-
Struts 2.0 文件上传/下 ...
有没有例子啊,
-- by savefrom -
重温Spring参考手册 事务 ...
manager
-- by tryyong -
[翻译] FreeMarker快速上 ...
我先转载了,留得日后看, 谢谢!
-- by qingfeng825 -
[翻译] FreeMarker快速上 ...
very good,思路明晰,条理清楚。 本来想自己整理一篇,但是楼主已经把我要 ...
-- by qingfeng825 -
[翻译] JBoss 4.0.5 应用 ...
...
-- by sdasdasda






评论排行榜