V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
oahoaix
V2EX  ›  程序员

oracle 数据库的优势在哪?

  •  
  •   oahoaix · 2017-11-13 16:45:13 +08:00 · 12206 次点击
    这是一个创建于 2600 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司用的 oracle,感觉很不爽啊,PLSQL 各种卡死,没有 limit 写个分页都麻烦的要死,对比 mysql 的话 oracle 的优势在哪?
    70 条回复    2017-11-15 10:58:21 +08:00
    shoaly
        1
    shoaly  
       2017-11-13 16:53:38 +08:00   ❤️ 1
    一说 oracle 的项目 就能卖个好价钱
    cstj0505
        2
    cstj0505  
       2017-11-13 17:04:59 +08:00   ❤️ 1
    看你的吐槽还在小白水平,建议在干活前多读读 oracle 的文档等你有深入了解了再来吐槽。

    虽然现在 pg 和其他各种数据库用的多,但就数据库而言,Oracle 还是这个星球最好的数据库
    p2pCoder
        3
    p2pCoder  
       2017-11-13 17:11:46 +08:00
    mysql 相比于 orcale 差距还是太大
    oldgun
        4
    oldgun  
       2017-11-13 17:17:19 +08:00 via iPhone
    Oracle 没有调优渣渣一样,DB2 相对全家桶一点。
    勿喷,哈哈
    realpg
        5
    realpg  
       2017-11-13 17:31:20 +08:00
    优势在于贵……
    wxsm
        6
    wxsm  
       2017-11-13 17:34:49 +08:00   ❤️ 1
    优势在于,技术水平不够牛逼,用了免费开源产品承担不起数据风险的公司,买了 Oracle 可以从此高枕无忧。
    oahoaix
        7
    oahoaix  
    OP
       2017-11-13 17:37:25 +08:00 via Android
    @shoaly 是吗😂公司自己用的项目
    oahoaix
        8
    oahoaix  
    OP
       2017-11-13 17:38:19 +08:00 via Android
    @cstj0505 确实是小白,今年刚毕业刚接触 oracle 几个月😂之前在学校一直用的 mysql
    oahoaix
        9
    oahoaix  
    OP
       2017-11-13 17:38:51 +08:00 via Android
    @p2pCoder 是吗😂看来我真是不知者无畏了
    f2f2f
        10
    f2f2f  
       2017-11-13 17:40:38 +08:00
    骂归骂 吐槽归吐槽,数据量一大(上 T ),Oracle 还是很得心应手的。

    当然 DB2 也不差,但是相比做 Oracle 的 DBA 就很苦
    bk201
        11
    bk201  
       2017-11-13 17:41:07 +08:00
    原生没中间件的情况下,量级不一样。
    nicevar
        12
    nicevar  
       2017-11-13 17:49:50 +08:00
    对数据库了解不是太深入,但是也经历了些,总的来说 MySQL 的性能差些,原来的公司原本打算从 oracle 迁移到 MySQL,测试之后出现很多性能上的问题,最后还是放弃了,如果公司没有足够的技术实力解决这方面的问题,用 oracle 最省事
    就我个人来说,自己做的项目用 MySQL,最烦的地方是它有没有物理视图,使用视图查询效率低下,oracle 这方面就好多了
    shakoon
        13
    shakoon  
       2017-11-13 17:55:15 +08:00
    功能优势,性能优势,高可用优势,在商业环境下足够把 mysql 虐成渣渣了。但并不是说 mysql 就是渣渣,两者面向的应用环境本身就有天壤之别,在各自领域都是顶尖的。
    oahoaix
        14
    oahoaix  
    OP
       2017-11-13 18:18:48 +08:00 via Android
    @oldgun 我是小白😂是时候学习一波了
    oahoaix
        15
    oahoaix  
    OP
       2017-11-13 18:21:25 +08:00 via Android
    @wxsm 我老大也这样说了,出了问题找厂商😂😂
    yanyanlong
        16
    yanyanlong  
       2017-11-13 20:04:03 +08:00
    分析函数,树状查询 就比 mysql 方便好多了
    ixiaohei
        17
    ixiaohei  
       2017-11-13 21:39:35 +08:00
    oracle 优势太多了,就拿开发来说,机器配置不知道,四亿的表,8 个索引,更新一行记录 0.3ms 搞定,查询 20ms 搞定。估计 mysql 够呛;另外对于失误操作,flashback 直接回归搞定,不需要 binlog 备份然后回退。
    另外一堆突出 oracle 没有 mysql limit 关键字,你们知道 limit 越往后翻越慢的问题怎么优化么?
    另外 oracle 有并行度的概念,mysql 还没有见到过(可能我了解 mysql 不够深)
    oldgun
        18
    oldgun  
       2017-11-13 21:41:24 +08:00
    @oahoaix
    能把 Oracle 吃透也不用学别的了,吃饭没问题了。
    ixiaohei
        19
    ixiaohei  
       2017-11-13 21:41:25 +08:00
    另外 oracle 还有 2 个比较爽的:一个是大表加字段几秒钟搞定,mysql 慢的要死。生产 sql 可以直接固化索引,mysql 估计要自己 sql 中 hint
    LuoboTixS
        20
    LuoboTixS  
       2017-11-13 21:41:48 +08:00
    Ecosystem
    hanru
        21
    hanru  
       2017-11-13 21:51:28 +08:00 via Android
    oracle 的比较对象不应该是 postgresql 么?

    hacker news 上多次讨论过这个话题,我看下来的感觉是,用 oracle 的大都是历史遗留问题导致不得不用。另外,oracle 的销售团队非常牛逼。
    alcarl
        22
    alcarl  
       2017-11-13 21:56:24 +08:00 via Android
    有 limit 写分页也不见得简单,oracle 的优势第一在于数据容灾方案,第二在于 sql 效率,第三在于有完整的商业支持
    fuyufjh
        23
    fuyufjh  
       2017-11-13 22:06:32 +08:00
    同意 2 楼:

    就 数据库而言,Oracle 还是这个星球最好的数据库
    flipped123
        24
    flipped123  
       2017-11-13 22:16:26 +08:00
    oracle 是最先进的关系型数据库。
    princeofwales
        25
    princeofwales  
       2017-11-13 22:38:59 +08:00
    oracle 最厉害的地方在于:写不阻塞读,读不阻塞写
    听说 MSSQL 也搞出来了类似 undo 的东西
    还有物理 DG,不是逻辑同步的效率能比得了的
    7654
        26
    7654  
       2017-11-13 22:46:14 +08:00
    只要肯花钱,sql navi、toad 等等用起来还是很好的
    另外我这的两台 oracle 服务器已经有 5 年多没重启了
    WildCat
        27
    WildCat  
       2017-11-13 22:46:46 +08:00 via iPhone
    Oracle 的销售团队确实牛,在经济学人上打广告:
    http://www.oracle.com/ocom/groups/public/@ocom/documents/digitalasset/3430588.jpg
    wdlth
        28
    wdlth  
       2017-11-13 23:54:53 +08:00
    LIMIT 就写两个数字不够高大上,Oracle 用 ROWID 分页,写 4 个 SELECT,3 个 WHERE ……
    yingfengi
        29
    yingfengi  
       2017-11-13 23:57:39 +08:00 via Android
    系统集成路过
    做容灾的时候感觉 Oracle 很蛋疼
    MSSQL,MySQL 就简单多了
    有简单了解了一下,大概就是 Oracle 在数据量很大的时候有优势
    仅供参考。
    Tuisku
        30
    Tuisku  
       2017-11-13 23:58:12 +08:00 via Android
    打扰一下,为什么没人说 SQL Server (哈哈哈哈哈哈)
    wuhau
        31
    wuhau  
       2017-11-14 01:41:50 +08:00 via iPhone   ❤️ 1
    卖的贵,稳定,表名用拼音写不怕别人打了。
    Telegram
        32
    Telegram  
       2017-11-14 07:09:20 +08:00 via iPhone
    打个比方吧,mysql 就是记事本,短小方便,用起来简单。oracle 就是 word,功能强大,但是复杂
    lengyihan
        33
    lengyihan  
       2017-11-14 07:52:47 +08:00 via Android
    优势在于贵
    ivmm
        34
    ivmm  
       2017-11-14 08:01:08 +08:00
    @Tuisku hh SQL Server+1
    suueyoung
        35
    suueyoung  
       2017-11-14 08:18:31 +08:00
    @Tuisku
    你是说除了 OS, 其他产品都是老二的巨硬货?
    print1024
        36
    print1024  
       2017-11-14 08:23:31 +08:00
    用 Oracle 的公司一般都比较有钱吧
    aksoft
        37
    aksoft  
       2017-11-14 08:26:28 +08:00
    可以让你发帖吹牛逼
    shakoon
        38
    shakoon  
       2017-11-14 08:41:20 +08:00
    @Tuisku 提那玩意还不如说 sybase 和 informix →_→
    ayumilove
        39
    ayumilove  
       2017-11-14 08:52:07 +08:00
    @7654 toad 是个好东西。
    自从有了它 EM 就没进过。
    Lonely
        40
    Lonely  
       2017-11-14 08:52:30 +08:00 via iPhone
    年轻人不要老是想搞个大新闻
    dexterzzz
        41
    dexterzzz  
       2017-11-14 08:53:43 +08:00
    @shakoon 还提这 2 个,活在 90 年代吧。2 家早就卖身,已经在生命最末期了。
    ZhLTE
        42
    ZhLTE  
       2017-11-14 09:16:40 +08:00
    MSSQL 有这么差吗 楼上俩 一副苦大仇深的 样子。
    ren2881971
        43
    ren2881971  
       2017-11-14 09:26:04 +08:00
    对比 oracle 的话 mysql 的优势在哪?
    oahoaix
        44
    oahoaix  
    OP
       2017-11-14 09:33:57 +08:00   ❤️ 1
    @ixiaohei 改表结构确实挺快的
    @rint1024 其实我觉得是人傻钱多 qaq
    @aksoft 发帖子的时候我已经做好挨喷的准备了哈哈
    @Lonely 好的好的,PHP 是世界上最好的语言
    @ren2881971 楼上各位大佬也说了各种 oracle 完爆 mysql 的地方,可是我在网上看到之前阿里不是把产品全线重 oracle 迁移到 mysql 了吗。。如果 mysql 比 oracle 差这么多阿里也用不着这样吧?
    mentalkiller
        45
    mentalkiller  
       2017-11-14 09:52:18 +08:00
    @oahoaix #44 不是说 mysql 比 oracle 差很多,而是说 mysql 要用的得心应手,满足性能需求,需要大量的调优和定制,花费的精力和金钱巨大,而且达到这种层面精通的人才也难招。普通公司来说,从管理者成本上来考虑,不如选择 oracle,性能满足的同时也不至于太贵。

    所以粗暴地下个不严谨的结论(只是为了便于理解讨论的问题):
    业务不大的小公司->mysql,业务达到量级有性能需求的中等公司->oracle,业务巨大量级有性能和分布式需求的巨型公司->mysql+hadoop+hbase
    jhdxr
        46
    jhdxr  
       2017-11-14 09:55:48 +08:00
    @oahoaix 阿里养了多少工程师在那改 MySQL,你那又有多少。很久之前内网有分享库存中心的一个优化方案,发现有一个瓶颈在数据库上,直接改 MySQL 源码加了个语法。现在 oceanbase 也出来了,你可以自己去围观下
    mentalkiller
        47
    mentalkiller  
       2017-11-14 09:55:59 +08:00
    @oahoaix #44 如果想要详细了解的话,可以看看当时关于阿里去 IOE 的各种文章,里面不仅有性能的考虑,也有业务规模达到一定量级后 Oracle 授权成本巨大的考虑。
    yanze0613
        48
    yanze0613  
       2017-11-14 09:56:16 +08:00
    怎么说呢,一般来说, 大家对比 oracle 和 mysql 都是用的
    oracle 的商用版本(因为没社区版,虽然有可能也不付钱)
    mysql 的社区版本(没见过多少买企业版的)

    所以得,多数情况下,oracle 的省事程度确实高于 mysql 啦
    BlackGrasshopper
        49
    BlackGrasshopper  
       2017-11-14 09:56:20 +08:00
    @oahoaix 阿里有能力自己解决遇到的一切问题,你不能
    windyboy
        50
    windyboy  
       2017-11-14 10:00:21 +08:00
    对一个一般员工都是律师的企业,你讲他的产品最好,说服力有点不够
    t6attack
        51
    t6attack  
       2017-11-14 10:02:38 +08:00 via Android
    轻型数据库和重型数据库的区别。
    有能力从源码级别优化数据库的互联网公司,重量级需求当然也可以选择 mysql。
    nandaye
        52
    nandaye  
       2017-11-14 10:05:51 +08:00
    MySQL 的复杂度跟 Oracle 相差甚远,性能与 Oracle 完全不能比。
    MySQL 在开源数据库中也不是最好的,PG 性能上吊打 MySQL,PG 可以对标 Oracle,而 MySQL 的生态好更加流行。
    另外,精通 MySQL 并没有精通 Oracle 难。只是现在 MySQL 是真的火。
    ranxy
        53
    ranxy  
       2017-11-14 10:12:58 +08:00 via iPhone
    问一下现在的那些分布式 NewSQL 和 Oracle 比起来怎么样?
    ren2881971
        54
    ren2881971  
       2017-11-14 10:18:48 +08:00
    @oahoaix 阿里有一屁股工程师 给 mysql 擦屁股,擦不干净了直接自己开一个版本做自己的东西, 别的公司行么。
    joe1213
        55
    joe1213  
       2017-11-14 10:21:08 +08:00
    @oahoaix 你数据量没到那么多怎么都体会不出来,最好直接生成一个数据量比较大的表,查询一下比较比较速度不就完了吗?在你没有用任何调优技巧的情况下一个毫秒出结果,一个要等 1 秒钟,这时候差距就是巨大的了,要知道光查一次数据就 1 秒,你一次交互要查几次数据,你网络也要占用时间,别人等你界面刷新不耐烦直接就把界面给你关了。
    tanranran
        56
    tanranran  
       2017-11-14 10:46:44 +08:00
    阿里的 OceanBase 和 Oracle 有可比性吗?
    求大佬分析一下。
    mentalkiller
        57
    mentalkiller  
       2017-11-14 11:28:47 +08:00
    @tanranran #56
    适用场景不同,你可以参考下逼乎的介绍:
    https://www.zhihu.com/question/19841579
    glues
        58
    glues  
       2017-11-14 12:18:20 +08:00
    Oracle 之所以表现那么好,是因为 MySQL 太差
    ms2008
        59
    ms2008  
       2017-11-14 12:36:29 +08:00
    多主复制
    x7395759
        60
    x7395759  
       2017-11-14 14:58:56 +08:00
    所以大家其实就说了一点,大量数据的时候,Oracle 更加快。
    dong3580
        61
    dong3580  
       2017-11-14 15:15:09 +08:00
    @x7395759
    确实就是这样,大量数据的时候,写的渣渣,一样快。。。
    nicevar
        62
    nicevar  
       2017-11-14 15:15:22 +08:00
    @oahoaix 有几家公司有阿里哪个财力的,迁移 MySQL 需要一堆强悍的技术人员,一般的公司花费不起,一年的钱够买 oracle 好多年了
    zjsxwc
        63
    zjsxwc  
       2017-11-14 15:20:44 +08:00
    当有需求把业务写在 sql 里时, 用 oracle 比 mysql 好用很多.
    这也是我碰到使用 oracle 的理由
    asuraa
        64
    asuraa  
       2017-11-14 15:37:12 +08:00
    因为贵啊 B 格高
    zacard
        65
    zacard  
       2017-11-14 16:12:39 +08:00
    算法领先。特别是 sql 自动优化方面
    jisibencom
        66
    jisibencom  
       2017-11-14 19:16:13 +08:00
    用 ORACLE 的都是不差钱的地方。便于推销。
    alcarl
        67
    alcarl  
       2017-11-14 20:52:10 +08:00 via Android
    今天又赶上一个,delete 删东西超过 4g,mysql 直接报错,oracle 和 sqlserver 一点问题没有
    JerryCha
        68
    JerryCha  
       2017-11-15 00:30:43 +08:00
    举阿里的例子是没有意义的,世界上并不存在大量的阿里级别的互联网公司
    简单来说,除了阿里腾讯,世界上还有大众、丰田、新鸿基、富士康等非信息行业的大型公司,对他们来说养一支开发运维队伍是不划算的。
    再说了,商业软件出问题了一个电话找过去,解决不了就老老实实背锅赔偿。
    abbatuu
        69
    abbatuu  
       2017-11-15 08:10:27 +08:00
    首先是没有需求 海量( 100T 以上的数据)高并发 容灾 的需求
    harrysun
        70
    harrysun  
       2017-11-15 10:58:21 +08:00
    就是很大 很卡 用着 mysql 就很好还不要钱
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5407 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 07:58 · PVG 15:58 · LAX 23:58 · JFK 02:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.