免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 19587 | 回复: 25
打印 上一主题 下一主题

各种数据库,哪款才是你的菜 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-11-05 14:30 |只看该作者 |倒序浏览
获奖详情:http://bbs.chinaunix.net/thread-4235287-1-1.html

话题背景:

全世界200多种数据库,在大数据纷飞的今天,nosql和newsql势头很猛,但是排名前十的数据库中关系型还是占了7席,可见关系型数据库的地位依然还是主流的数据库。就得分排名而言,前3位都是得分超过千,第三位是第四位4倍多。针对此类现象,我们就关于数据库的使用问题进行讨论,说说你更青睐那种数据库?哪些带给你使用的快感!




讨论话题
话题1、这10个数据库你用过哪些?在什么场景下用到的?
话题2、选择使用哪种数据库的理由是什么?
话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?


讨论时间:
2015年11月16日--2015年12月16日


活动奖励:
活动结束后将评选出5名讨论最精彩的同学,奖励技术图书一本。
可在论坛书库任意挑选适合的书籍。书库链接:http://bbs.chinaunix.net/thread-4074217-1-1.html

论坛徽章:
7
IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00平安夜徽章
日期:2015-12-26 00:06:30技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34fulanqi
日期:2016-06-17 17:54:25C
日期:2016-10-25 16:08:32
2 [报告]
发表于 2015-11-16 13:26 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
MySQL:传统服务器用过
MongoDB:用Node.js帮朋友开发游戏服务器时候用过
PostgreSQL: 开发web的时候用过
SQLite:开发Android App时候,在手机上使用过
Redis:用过做缓存

话题2、选择使用哪种数据库的理由是什么?
- 继承,原先这个系统用什么就用什么,不会更改
- 熟悉程度,比如Mysql熟悉,那么默认情况下我会选择这个
- 技术是否符合,Android上一般就只能用SQLite;MongoDB是文档式,存储json的数据更容易等等

话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?
- Mysql->PostgreSQL做过数据迁移,一般就是先导表,然后再转换数据,还要解决类似转义字符等等一系列问题

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
3 [报告]
发表于 2015-11-16 13:27 |只看该作者
MySQL和Redis必不可少啊, Redis地位不应该这么低啊

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
4 [报告]
发表于 2015-11-16 14:05 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
sqlserver:大数据量
mysql:小数据量
话题2、选择使用哪种数据库的理由是什么?
sqlserver比较健壮无bug
mysql功能较少
话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?
mysql导入数据到sqlserver,使用sqlserver的链接服务器

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-04 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002015亚冠之阿尔艾因
日期:2015-11-08 10:27:01CU十四周年纪念徽章
日期:2020-11-05 14:10:23
5 [报告]
发表于 2015-11-16 14:13 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
         这10个数据库真正用过的就是oracle,是在业务运营支撑系统中用到的。其它的还用过内存数据库timesten,fastdb,还有内部开发的key value的文件数据库。

话题2、选择使用哪种数据库的理由是什么?
       业务运营支撑系统业务关系比较复杂,主数据库用的是oracle。有的场景是需要快速响应的, 选用了内存数据库。话单要方便存储和查找,用了keyvalue的文件数据库。

话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?
        做过,oralce和timesten本来就是一家,是通过cahegroup实现的。有的是自己写程序实现的。

论坛徽章:
0
6 [报告]
发表于 2015-11-16 14:26 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
1:Microsfot SQL Serer,公司ERP系统。
2B2,公司ERP系统。

话题2、选择使用哪种数据库的理由是什么?
ERP指定的数据库,没有选择。

话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?
有过。
1:DB2的数据通过ODBC同步到SQL中。
2:DB2的报表转到到WINDOWS打印管理。
3:EXCEL --> SQL--->DB2

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
7 [报告]
发表于 2015-11-16 14:33 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?

1、6、8没用过,其他或多或少用过。
1号oracle太贵,没见过大世面的人很难遇到。
2号mysql,这个在web系统中用的最多,资料也多。
3号sqlserver,学校很多系统都是用它开发的,还有图书系统,在windows下用还是非常好的,虽然性能一般般。
4号做过一个小项目,现在主要日志用,曾经构想用它来做小文件的存储,但后来发现文件数多了以后,性能很一般,就放弃了。记录数是百万后,索引鼓胀很厉害。但最大的好处是集群实在是太简单了,如果没有join之类的操作,nosql还是非常不错的。
5号最近公布的结果又反超4号了,目前用的最多的就是它。第一次用它是一个mysql的学习系统,要涉及十多个表的联合查询,在记录到500、600万后,查询要到十多秒的样子,很难再优化上去,但测试了postgresql后,发现性能根本不是问题,根本就是小菜一碟,基本上毫秒就开,后来一直就用它了。现在用的最大的AAA认证,单表记录数已过2亿,性能还是刚刚的,一直没有清记录,就想看看啥时候性能才下降。另外postgresql在FreeBSD下配合zfs,就是不一样的感觉。
6号没用过
7号工作常用,属于最早接触到的数据库之一,其实最早接触的还有foxbase+,分析成绩啥的都用它们,属于用鼠标点点就能出结果的那种,当然数据量稍大的话,可能会卡掉。
8号没见过
9号写过一个小程序,在资源受限制、对性能要求不高的情况下可以用用,特别像手机等场合,用来存储数据还是比较合适的。
10号没真正用过,只是用来做网站缓存。

话题2、选择使用哪种数据库的理由是什么?

现在最喜欢的是postgresql,它要比mysql更好玩,支持的功能也多,函数也丰富,最主要的是多表联合查询,性能要比mysql好很多,简直就不是一个档次的东西,另外还能比较方便地进行扩展,正在研究它,感觉给postgresql非常大的灵活性。唯一不足的地方就是集群方案麻烦一些,好在我现在还没遇到,但是据说gp已经开源了,可能会是一个很好的解决方案。


话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?

数据库转换用Navicat,虽然要到处搜码。

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
8 [报告]
发表于 2015-11-16 14:48 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
ORACLE没得说。单位的重量级应用都是这玩意。数据库专家也是玩着最熟悉。
MYSQL自己玩过。单位里的监控系统也在使用,懂的人不多。动手折腾的人更少。基本就是早期LINUX自带的。部署WEB应用它作为后端数据库,不过监控系统本身也就是很小的数据量。SQLserver感觉我们现在已经很少用了。处了老旧系统有几个基本没有。出问题最多的也是它,重要生产系统根本不用。
话题2、选择使用哪种数据库的理由是什么?
话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?

论坛徽章:
5
技术图书徽章
日期:2015-01-14 09:32:18IT运维版块每日发帖之星
日期:2015-10-09 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
9 [报告]
发表于 2015-11-16 14:50 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?

oracle数据库:公司大型应用系统基本上都用oracle数据库,据我所知公司里面用到oracle数据库的有PDM系统、TDM系统、ERP、OA等系统。
SQL Serer\MySQL数据库:公司里面应用型的网站多采用此数据库,例如工资查询系统、企业文化网等等
Access数据库:这个数据库的应用主要用在了企业内部的共享系统上,这个说实话在我司应用还是比较常见的。

话题2、选择使用哪种数据库的理由是什么?

大型数据库Oracle、DB2
中大型数据库sybase、informix、Sqlserver
小型数据库access、sybase sql anywhere、dbf、execl
MySQL:如果网站基于PHP开发,则适合使用MySQL。如果您的虚拟主机采用Linux作为操作系统(即Linux虚拟主机),一般也采用MySQL。MySQL具有很高的效率,胜任大中小各种类型的网站应用。搭配PhpMyAdmin,用户通过浏览器即可方便的管理数据库。 SQLServer/Access: 如果网站是基于ASP或ASP.Net开发,一般使用微软的Access或SQLServer(即MsSQL)。其中Access是文本数据库,其查询或存储效率远低于SQLServer,不宜作为大型应用的选择,通常适用于小型网站。而SQLServer需要服务器安装专门的SQLServer程序,效率较高,并且有专业的管理客户端。 通常情况下,各类网站程序都会指定所需要的环境,例如Discuz、PHPWind、Shopex默认使用MySQL,而Discuz!NT、动易、Dvbbs等默认使用Access或SQLServer.

话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?

这个还是做过一些的。主要做过以下实力:
通过SSIS实现Oracle与Sqlserver数据库间的数据同步,并定时执行同步任务。
一 编写SSIS包程序
1.开始 》程序 》Business Intelligence Development Studio 》Business Intelligence Development Studio 打开SSIS编辑器
2.编辑器里,文件》新建》项目 ,在弹出的对话框选择 Integration Services 项目,确定
3.在解决方案资源管理器中,SSIS包》右键》SSIS导入和导出向导》选择 Oracle Provider For OLE DB(如果没有该项则需要安装Oracle客户端,或找个Oracle驱动)》点击 属性 》输入 数据源 用户名及密码(这里一定要勾上允许保存密码),测试连接是否能通过,若不能通过,则需好好看下Oracle的连接是否正确,尤其是远程Oracle的配置。》然后选择导入到的数据库,这里我们是sqlserver 就选 Microsoft OLE DB For Sql Server 》 输入 数据库名称及用户名密码 并选择要导入到的数据库》选择复制表或通过sql语句》选择源及目标,并配置映射的字段 》 完成》运行刚生成的包
二 通过sqlserver的作业来定时执行SSIS包
1.开始 》程序 》SQL2005》Managemenet Studio,服务器类型选择 Integration Services服务 确定 》已存储的包》MSDB》右键导入包,》选择文件系统,指定之前做好的包》导入(注意:保护级别选项中需要选择依靠服务器存储和角色进行访问控制,否则运行包时会报错-说明: 无法解密受保护的 XML 节点“DTSassword”,错误为 0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误。请确保提供正确的密钥。)
2.在sql2005里新建一个作业。SqlServer代理》右键》新建》作业 按照 常规-步骤-计划-警报-通知-目标的顺序 填写完成。其中需注意的是 步骤 里 选择SSIS包的时候,类型选择为 Sql Server Integration Services包 ,包源选择为 SSIS包存储区

论坛徽章:
1
2016猴年福章徽章
日期:2016-02-18 15:30:34
10 [报告]
发表于 2015-11-16 15:01 |只看该作者
话题1、这10个数据库你用过哪些?在什么场景下用到的?
1、Oracle没有用过,可能没弄过那么大的系统,大系统多用的是MySQL集群。
2、MySQL,这个常用,主要是Linux服务器上,稳定可靠,目前一些系统正准备转到MariaDB。
3、SQL Server,这个也常用,主要用在开发Windows下的服务器项目。
4、MongoDB 没用过
5、PostgreSQL现在软由器Untangle用的是这个数据,经常需要维护。
6、DB2 没用过
7、Access这个也常用,主要用在一些单机版的开发项目,简单实用啊。
8、Cassandra 没用过
9、SQLite Android开发用过。
10、Redis 没用过
话题2、选择使用哪种数据库的理由是什么?
1、是否适合项目,比如一个很小的东西,没有必要整个大型数据库,Access足够用了,整SQL即增加成本,也增加维护量。
2、系统的稳定性和可靠性。
3、数据库的价格。
4、数据库的维护成本。
话题3、有做过他们之间的数据转换或者同步吗?怎么实现的?
数据转换经常做,没啥好办法,花点时间写个小程序,也是很快的,比折腾数据、SQL句要有效的多。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP