新足迹

 找回密码
 注册

精华好帖回顾

· 从萨巴鲁到 Hello Kitty (新足迹生日快乐-我们的友谊地久天长) - 御用设计师谈新足迹9周年邮票设计思路 (2017-1-14) 分辨率 · 参加活动—Master Dessert:Fruit Tart 水果塔 (2012-8-11) lanshan
· 哪一刻最难忘?(参选征文) (2005-1-16) bandf · 今天我们登陆澳洲两年整(27/06) (2007-6-27) yanyan911
Advertisement
Advertisement
查看: 1765|回复: 23

请问一个电信或是银行等大型DW的读取问题 [复制链接]

退役斑竹

发表于 2013-3-1 09:25 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果每个用户每天有500条纪录,一年有182,500条纪录。用户被允许从网上查询最近两年的纪录,从performance考虑,怎样能使读取速度最快?

把两年数据放在一个table,剩下的放archive table?
Advertisement
Advertisement

发表于 2013-3-1 09:48 |显示全部楼层
此文章由 binbenban 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 binbenban 所有!转贴必须注明作者、出处和本声明,并保持内容完整
partition, aggregate, index

退役斑竹

发表于 2013-3-1 09:56 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
partition, index是肯定的,但如果几万个用户同时查询,还是免不了会慢

特殊贡献奖章

发表于 2013-3-1 11:42 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果是从一个table查询,数据库方面帮不了太多忙吧

退役斑竹

发表于 2013-3-1 11:53 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kr2000 发表于 2013-3-1 11:42
如果是从一个table查询,数据库方面帮不了太多忙吧

那在哪方面才能提高性能呢?

发表于 2013-3-1 11:55 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
分区,压缩,IOT。
历史只读数据,分散到mysql里放在低端server上就可以了,有ssd肯定快
Advertisement
Advertisement

发表于 2013-3-1 11:56 |显示全部楼层
此文章由 yolandalinz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yolandalinz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
distribute database + load balancer? 我瞎猜的。

发表于 2013-3-1 11:56 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2013-3-1 08:56
partition, index是肯定的,但如果几万个用户同时查询,还是免不了会慢

几万的用户,最好是从application level就partition了吧
like hell

特殊贡献奖章

发表于 2013-3-1 12:10 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2013-3-1 10:53
那在哪方面才能提高性能呢?

应该是写程序的优化吧
web的话,缓存,异步什么的可以减少用户等待时间

如果访问人多,瓶颈在数据库的话,那象楼上说的可以用分布式数据库

发表于 2013-3-1 12:41 来自手机 |显示全部楼层
此文章由 huaxianz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huaxianz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
AlwaysOn Readonly Secondary Replica(s)

退役斑竹

发表于 2013-3-1 13:27 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kr2000 发表于 2013-3-1 12:10
应该是写程序的优化吧
web的话,缓存,异步什么的可以减少用户等待时间

基本就是report,没有程序,全是从DW里取数据
Advertisement
Advertisement

发表于 2013-3-1 14:27 |显示全部楼层
此文章由 jaszhou 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jaszhou 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不同Vendor的产品方案可能会不一样。如果是DB2的话,肯定是DPF, Database Partition + Table Partition,这样需要多个Node来提高并发性能。如果是MySQL的话就更简单,直接装多个replication node, 反正是读取数据,这样架构最合适不过。 前端需要用proxy作balancer或者sharding.

发表于 2013-3-1 14:34 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2013-3-1 12:27
基本就是report,没有程序,全是从DW里取数据

既然是用户看,presentation应该在web对吧,怎么会没有程序呢? 取了数据总要rendering到webpage吧。
别告诉我是用SSRS啊。
数据库端既然已经partition,index做到最优了,要想有performance的提升用异步和缓存应该是最有效的了。
2020目标: 活着

发表于 2013-3-21 15:51 |显示全部楼层
此文章由 binbenban 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 binbenban 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cache

发表于 2013-3-21 15:59 |显示全部楼层
此文章由 wil 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wil 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对数据实时性有要求么

发表于 2013-3-22 14:27 |显示全部楼层
此文章由 mylt 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 mylt 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哈哈,
对用户分组,每个组是一个表,
或者现在流行的nosql数据库
Advertisement
Advertisement

发表于 2013-3-22 14:31 |显示全部楼层
此文章由 mylt 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 mylt 所有!转贴必须注明作者、出处和本声明,并保持内容完整
hadoop mapreduce
mogondb 这个里面也有mapreduce
这个搞大了.

发表于 2013-3-22 14:55 来自手机 |显示全部楼层
此文章由 bluesfans 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bluesfans 所有!转贴必须注明作者、出处和本声明,并保持内容完整
nosql不适合在银行领域,不成熟也不可靠

发表于 2013-3-22 15:22 |显示全部楼层
此文章由 wil 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wil 所有!转贴必须注明作者、出处和本声明,并保持内容完整
bluesfans 发表于 2013-3-22 14:55
nosql不适合在银行领域,不成熟也不可靠

具体问题具体分析,如果不做交易类存储还是可以考虑用nosql的,银行也有很多内部系统的
回忆是红色的天空

发表于 2013-3-22 15:27 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你不是BI吗?这需要你做构架?

发表于 2013-3-22 16:40 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
想象一下你现在的环境是这样的
几个database server 是平常OLTP的(PartA),通过SSIS或者之类的server到一个data warehouse server(PartB),再有一个SSRS处理report(PartC),可能还有SSAS
我的理解你公司的普通user看得report是出于PartC的,而他们平常的记录是进出PartA的

PartB里面不管是2年内的记录还是2年外的记录都有,分开的
PartA中2年内的记录和2年外的记录也是分开的,甚至1-3月的记录和2年内的记录也是分开的。但是这个分开不是为了user查询transaction history,是为了数据update。
PartC从PartB中来的,如果是大的数据可以先存report server table。

几万个用户要查询的到底是report还是transaction history?这两种是有些不同的,前者应该出自SSRS,而后者可以出自cached dataset,也可以来自SSRS,这部分web developer会实现,就是要注意large dataset




If you let people believe that you are weak, sooner or later you’re going to have to kill them.
Advertisement
Advertisement

发表于 2013-3-22 21:31 |显示全部楼层
此文章由 joerkky 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 joerkky 所有!转贴必须注明作者、出处和本声明,并保持内容完整
很多高人啊,学习了。

NOSQL其实对于只读数据支持没那么差,不过这个需求用NOSQL也没有什么好处。只是根据index找用户记录而已,没有什么format可言。

发表于 2013-4-2 23:12 |显示全部楼层
此文章由 jl162401 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jl162401 所有!转贴必须注明作者、出处和本声明,并保持内容完整
并发用户数几万个? 不靠谱吧 在线用户数?

啥数据库啊 Oracle?SQL Server? Teradata?

所有都是假的 表要越小越好

发表于 2013-4-3 15:59 |显示全部楼层
此文章由 老衲 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 老衲 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Distributed Partitioned Views

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部