萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1211|回复: 20

[职业生涯] 求IT高手乱入

[复制链接]
发表于 2015-10-19 11:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
本帖最后由 我想我会 于 2015-10-20 08:49 编辑



问到请删





                                                     
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2015-10-19 11:44 | 显示全部楼层
这个问题确实太复杂了,所以表达起来也很复杂,都不知道该怎么说才好了,不知道大家能不能看明白,希望有相关经验的高手,一看就能明白我的意思吧,给点指点吧!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 11:51 | 显示全部楼层
弄个hana估计就不必担心啥了。

真要是讲效率,名堂很多的
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 12:23 | 显示全部楼层
我觉得楼主这样的线性存储也不行吧,一个大表塞那么多数据,随便做点儿操作不是要慢死。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 12:49 | 显示全部楼层
输入进库,怎么入都行,关键是你之后用的时候有什么要求?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 12:59 | 显示全部楼层
本帖最后由 xiabai84 于 2015-10-19 14:59 编辑

希望我理解你的问题了。。。 你的目的其实就是想把一个存结构化数据的大表 灌进一个第三范式的数据库里?

我对这种量比较大的数据都基本都是用ETL工具入库(特别你经常读一些什么EXCEL, CSV, XML, TEXT,或者非结构化类型的文件,然后写进数据库)。原因很简单,1 可以节省代码量, 2 保证数据质量(什么空行,主键多次插入,slowly changing dimension各种各样操作), 3 入库效率高。

有可能的话使用集群模式, 多线程读写, 能用bulk load 就优先用, ETL工具里包括各种操作行转列列转行应有尽有。 你的应用不就是应该负责单行数据的增删查改嘛,而不是靠你的应用去搞ETL。。。  进表后想优化就是比较大的课题了,这个看你业务逻辑需要, 写高性能的查询语句, 尽量走索引是最基础的优化。。注意数据库的 Optimizer 和 excution plan
建议使用Pentaho 或者Talent, 感觉你的样子像是java 程序员, 这两个东西都是开源的,你上手应该能比较快。  1500万行离大数据的等级还差很远。。用classic 的BI手段就能处理。

Java 程序设计不是我的强项,没法给意见。 偶尔自己家里做着玩的话我个人喜欢Netbeans, 懒人首选。。 你在数据库里建好模型,直接对应着生成代码, 随便改改就基本有想要的前端效果了。

楼上的回复老实说我没看懂。。。大概是我low 了。
SAP Hana是内存式的列存储, 是NoSQL的一个分支, 搂主其实就是一个很简单的关系型数据库,而且是CSV 输入。 他好像也没说有什么查询的瓶颈或者非结构化数据建模的困难。 能用开源技术不懂为何用SAP。。。1500万行的效果开元和收费应该没啥区别吧? 最多最多搞个小集群不涉及到大数据技术。

点评

谢谢这么详细的回答  发表于 2015-10-19 14:41
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 13:21 | 显示全部楼层
你的方法没问题,说你不对的人是想把功能模块化,设计模式嘛。如果源数据是xml的,你的importer没法用了,要从头写。还有就是时间问题,如果一次性的用,一点问题没有,其他类你反正要今后继续用的。

像楼上说的,用talent比较好,不用自己码。1500万行小意思啊!

点评

我们这个系统每个模块都是自己的importer,有些是xml,有些是csv,还有其它格式的,但都不用考虑,只考虑本模块,写csv的就可以了  发表于 2015-10-19 15:54
其实pentaho 现在越来越强了。。绝对值得搞~ 尤其有java 功底,可以做2次开发  发表于 2015-10-19 14:55
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 13:36 | 显示全部楼层
你说的这东西是个factory,查设计模式的factory pattern。 excel数据进入factory, 校验并生成对象,对象再用hibernate之类导入数据库。

区别就是你不能自己写new 关键字来生成对象,因为写错了出来都是错的。工厂类(当然也是你开发的)会先检验再生成对象。同时工厂类里封装好的方法会更便于单元测试

一行一行循环excel当然是可以的,但是不够强壮易读,尤其数据例外或错误多的时候

点评

谢谢,我还想问几个问题  发表于 2015-10-19 14:49
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2015-10-19 13:44 | 显示全部楼层
补充一下,lz现在的实现方法最明显的问题是,

如果你运行程序运行了两遍,那么所有数据都会被插入两次,直到sql因为违反数据库constraints失败。插入前不仅要校验数据格式,还要检查是否已经存在。如果数据间有依存关系必须保证一次插入。不过这个应该好的数据接口库就有实现,应该。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2015-10-19 15:39 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2024-11-2 23:35 , Processed in 0.750012 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表