V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aisensiy
V2EX  ›  数据库

请问 SQL Server 相对于 MySQL 到底在什么地方有不可取代的地方?

  •  
  •   aisensiy · 2014-02-07 16:22:02 +08:00 · 4011 次点击
    这是一个创建于 3935 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近一个叔叔告诉我他们单位买了一套 SQL Server 多少多少钱似乎还挺昂贵的。但是我一直都是使用 mysql,那么请问是不是在绝大多数情况下 mysql 一定就够用了呀,而 SQL Server 到底是在什么时候一定要使用呢。
    第 1 条附言  ·  2014-02-08 14:46:35 +08:00
    大概总结下大家说的内容,mysql再怎么说也是个开源免费数据,虽然在基本功能上算是满足了,但是作为商用数据库的话在方方面面还是和 mssql server 有一定差距的。也有同学提到像阿里会对 mysql 做了很多的开发在某种程度上来说已经不是 mysql 原本的面貌了。

    但问题是据我了解很多的公司其实对 mysql 并没有做任何的改进,为了便宜依然使用,而且没有出过什么事情。给我的印象来说,他们是在数据备份等方面只要足够小心就会降低因为数据库本身不稳定所带来的问题了。

    我今天也去看了那个单位新上的一套系统,但是仅仅一两个小时的时间确实比较仓促,但也算是有个概念吧...这是一个典型的 asp.net 的系统,大量的业务差不多都是最最基本的增删改查,似乎没用到什么高级的东西呀。那么就引出另一个话题了:是不是其实很多公司和单位其实根本没用用到那些高端的功能,也就根本谈不上数据库的差别了,仅仅是因为 ms 的东西自成体系了,就顺带着一起使用了吧。
    49 条回复    1970-01-01 08:00:00 +08:00
    undeadking
        1
    undeadking  
       2014-02-07 16:32:22 +08:00   ❤️ 1
    你的思路有问题,并不是它有什么时候一定要使用,而是项目之前就是基于它的就必须要用,对传统企业而言替换掉一个数据库没那么容易
    Radeon
        2
    Radeon  
       2014-02-07 16:33:08 +08:00
    Notification Service
    loading
        3
    loading  
       2014-02-07 16:46:02 +08:00 via iPhone
    现在数据都在sql server,一堆技术人员只会这个,非技术原因一大堆
    saihuang
        4
    saihuang  
       2014-02-07 16:46:53 +08:00
    现在还有不少项目是.net+windows+IIS+MSSQL的
    min
        5
    min  
       2014-02-07 17:23:34 +08:00
    不是一个级别的产品,比较起来没有什么意义
    一定要比的话无非是比mysql功能多功能强速度快可靠性好可价钱高服务好等等
    wwqgtxx
        6
    wwqgtxx  
       2014-02-07 17:26:09 +08:00 via Android
    @min 感觉你下面列的理由没一个靠谱的
    zzNucker
        7
    zzNucker  
       2014-02-07 17:29:17 +08:00
    @wwqgtxx 怎么没有啊。。。 价钱和服务那肯定是超过MySQL的。。 功能的话我记得应该也是多的。 其它没测过不知道
    xi4oh4o
        8
    xi4oh4o  
       2014-02-07 17:33:46 +08:00
    并不是SQL Server有什么特别优点
    比如政府部门的信息化软件客户端都是win32开发的,自然就配合win平台的数据库和系统了。
    但也不一定就是了,然后老的一体化施工公司,很多都是搞微软那套比较多。ASP(.net+MSSQL一般也都是这么来的。

    ((因为用微软这套这个可以让政府出正版软件的费用,然后吃回扣啦))ε=ε=ε=ε=ヽ(* ̄o ̄)ノ
    treo
        9
    treo  
       2014-02-07 18:22:18 +08:00
    有微软的技术支持
    skyworker
        10
    skyworker  
       2014-02-07 18:36:22 +08:00 via Android
    做政府项目的大部分是从vb,asp那个时代,慢慢爬科技树到现在的。

    而用mysql的大部分是爬java或者lnmp的科技树到现在的。
    rAYz
        11
    rAYz  
       2014-02-07 19:11:16 +08:00
    MS SQL Server的数据库似乎只有安装了微软庞大的SQL Server才能打开
    不过我搜到了个小程序叫“SysTools MDF Viewer”似乎可以直接读取数据库内容
    jazdelu
        12
    jazdelu  
       2014-02-07 19:18:30 +08:00
    不过现在用ORACLE的也比较多。
    但是像政府国企没有像样的维护人员。。
    各位有志想要稳定工作的ITer们可以考虑了
    geeklian
        13
    geeklian  
       2014-02-07 19:44:19 +08:00 via iPad
    我就是一直在用mssql,毕竟单位和ms有协议,做为底层员工不用考虑授权问题。
    反倒是mysql似乎除了免费也没啥优点....
    varrily
        14
    varrily  
       2014-02-07 21:22:32 +08:00
    花钱买的是服务,出了大问题是有赔偿的。
    cloud107202
        15
    cloud107202  
       2014-02-07 22:02:23 +08:00
    @rAYz 有个叫navicat的软件也可以,一直用这个
    zxy
        16
    zxy  
       2014-02-07 22:09:20 +08:00 via Android
    @jazdelu 只需要会打电话叫建设方的~
    learnshare
        17
    learnshare  
       2014-02-07 22:13:23 +08:00
    不是钱的问题,是技术相对保守(坚持 .Net 那一套),所以还在用 SQL Server
    rAYz
        18
    rAYz  
       2014-02-07 22:43:55 +08:00
    @cloud107202 Data Modeler?他有一系列的软件…具体是哪个
    otakustay
        19
    otakustay  
       2014-02-07 22:54:46 +08:00
    出问题了打个电话就能叫人来解决,这就是MySQL不能取代的
    另外MSDTC支持,Notification Service支持,完善的.NET Lib和API,强大易用的Management Studio,这些都是相对于MySQL的优势,当然前提是你接受Windows部署
    VYSE
        20
    VYSE  
       2014-02-07 23:38:53 +08:00
    @rAYz 只要WIN,ODBC即可,甚至python用ctype都能操作
    cloud107202
        21
    cloud107202  
       2014-02-08 00:48:58 +08:00
    @rAYz navicat for sql server ,我似乎没理解错吧 : )
    loveminds
        22
    loveminds  
       2014-02-08 07:33:50 +08:00 via iPhone
    搞这些外包基本都是吃VB/ASP时代的老本
    jianghu52
        23
    jianghu52  
       2014-02-08 09:26:31 +08:00
    说到底,还是看那个公式的DBA擅长什么数据库。
    aisensiy
        24
    aisensiy  
    OP
       2014-02-08 10:05:43 +08:00 via iPhone
    @undeadking 不是你说的这样呀 他们是先买了系统 还没有用
    aisensiy
        25
    aisensiy  
    OP
       2014-02-08 10:17:14 +08:00 via iPhone
    @jianghu52 根本没有呀…
    aisensiy
        26
    aisensiy  
    OP
       2014-02-08 10:22:49 +08:00 via iPhone
    @skyworker 他们的项目也是要投标 现在还在挑选 有机会去看看去
    likuku
        27
    likuku  
       2014-02-08 10:23:09 +08:00
    DB 领域,商业软件的代码质量和软件功能目前开源软件还没办法与之匹敌。
    liprais
        28
    liprais  
       2014-02-08 10:23:11 +08:00 via Android
    商业数据库都比开源的mysql健壮太多了好么,bug少多了好么,好用太多了好么
    likuku
        29
    likuku  
       2014-02-08 10:25:02 +08:00
    另外, 14楼的说法几乎就是全部真相了。用其它免费产品的,出问题找谁担责任?
    likuku
        30
    likuku  
       2014-02-08 10:30:10 +08:00
    商业的DB不用 MS SQL Server?好吧,Oracle和DB2更贵。

    当然,基于PostgreSQL目标为Oracle替代品的 商业产品 Enterprisedb 或许也行,号称高度兼容。但拍板的领导是否买账就是未知数,万一DB出了问题,可能还是会追究选型责任:「叫你当初不选XX,你看到头来还是得把山寨的OO换成著名品牌XX的才没事了」。
    aisensiy
        31
    aisensiy  
    OP
       2014-02-08 10:32:02 +08:00 via iPhone
    @skyworker 有些单位没这个历史包袱呢 比如我说的这家…
    aisensiy
        32
    aisensiy  
    OP
       2014-02-08 10:34:23 +08:00 via iPhone
    @liprais
    @likuku 哦 两位的这个理由是挺合理的 可能是责任问题吧
    Admstor
        33
    Admstor  
       2014-02-08 11:20:36 +08:00   ❤️ 1
    V2EX看来做运维的很少,大部分的开发者可能也是比较入门吧...
    mysql虽然也在淘宝等有大规模的运用,不过人家淘宝的mysql改的可以说是完全是一个新的数据库了,因为阿里有相当强大的技术力量,这里面其实也是一个成本问题,阿里有强大的技术力量,使用商业数据库授权费用就会非常昂贵,而且不一定能满足自己的需求,所以不如基于开源的产品来开发修改.
    然则从运维的角度看,mysql可以说是简陋不堪的,在不采用第三方工具以及人工介入的情况下,你都没有办法保证你的数据是可靠的,而对于大部分公司和使用情况来说,你是不可能单独对这个应用来定制mysql
    然则相对的,mssql等商业数据库就好的多,本身集成的工具套件就能满足大部分需求,如果是正版还有技术支持也会省心很多.
    顺便说下,大部分情况下你是遇不到mssql的性能瓶颈,同时mssql又是几个商业数据库中最便宜最容易部署的(当然也是相对比较弱的)

    一句话,采用什么技术不重要,重要的是写程序的人...
    Admstor
        34
    Admstor  
       2014-02-08 11:42:28 +08:00   ❤️ 1
    有点跑题,说道为什么不可代替,暂时就先不说那些衍生品了
    mysql开始定位就是一个简单的关系型数据库,因此本身就是为一些简单的需求提供数据库服务,所对一些联合查询等等性能是很差的,当然这个是可以设计查询逻辑的时候避免,但是有的时候也是避免不了
    对内存的使用率,mysql的缓存功能很差劲,这表现在如果你的数据库增长到一定程度后,就不能充分利用大内存带来性能上的提高
    报表,数据仓库mysql功能缺失
    同步功能mysql是支持的,但是一直到5.6同步功能的延迟以及从服务器的性能都并不能完全满足高性能要求,仅同步的情况下,从服务器的资源占用比主服务器还要高许多,这点我不是很理解,也可能是手上这个项目开发人员的语句导致,但是对比另外一个mssql,主从在同步的时候性能开销几乎是一样,这样从服务器也就可以说有很高的可用性,而不仅仅是一个备份

    另外很多测试说mysql性能远高于mssql的情况,一般都是简单查询测试,并没有对复杂的查询,以及插入和更新进行测试,更没有在大量插入和更新的情况下对查询进行测试
    实际上很多业务查询和插入更新的量是差不多的(网站倒是很典型的大量查询少量插入的应用)
    anheiyouxia
        35
    anheiyouxia  
       2014-02-08 11:59:49 +08:00
    我前公司用SQLServer的原因是因为公司每年都交了授权费,一个序列号通用微软所有产品,不用白不用
    66beta
        36
    66beta  
       2014-02-08 12:09:48 +08:00
    据我多年观察~~呵呵
    程序员都用mysql,网管都用win+sqlserver,工作性质/知识范围决定,如是而已
    bombless
        37
    bombless  
       2014-02-08 12:22:26 +08:00
    有些网管信任mssql,用mysql他觉得没底气
    ibcker
        38
    ibcker  
       2014-02-08 15:15:05 +08:00
    花钱的好像出了事有赔偿,一般政府银行乐意·
    ibcker
        39
    ibcker  
       2014-02-08 15:15:23 +08:00
    猫兄~
    aisensiy
        40
    aisensiy  
    OP
       2014-02-08 15:26:27 +08:00
    @ibcker hi 你也在呢~出了事情也有个责任认定呢,该谁负责任谁负责任吧。
    min
        41
    min  
       2014-02-08 16:03:16 +08:00
    针对lz的append,把mssql 和 mysql都用在很简单的场景下,看起来两个是差不多的,并不能说明这两个产品本身有什么可比之处。

    简单的应用,决定因素不在数据库的功能性能和可靠性上。数据库软件的成本往往也不是决定因素,对于不怎么差钱的公司或者比较大的项目,数据库要10w-20w和不要钱对解决方案价格的影响很小,对全寿命成本来讲可以忽略不计。

    SAP即可以跑在oracle也可以跑在mssql上,而且我们公司的sap就是跑在mssql上的,跑了n年都没什么因为mssql发生过重大问题。但这说明不了什么问题,oracle就是比mssql高大上贵。

    taobao也说明不了问题,他家用mysql的原因不外乎
    1 他控制不了oracle,不能任意定制修改
    2 scale out之后实在付不起licence fee了。mysql的花样什么读写分离主从复制分区集群之类的功能,哪个商业数据库不能玩?问题是玩大了之后账单出来吓死人。
    3 阴差阳错当初选了mysql,以后想换postgresql之流的也基本不可能了,就这么一路走下去吧
    raptor
        42
    raptor  
       2014-02-08 16:12:01 +08:00
    3 阴差阳错当初选了mysql,以后想换postgresql之流的也基本不可能了,就这么一路走下去吧
    ===
    有啥不可能的,很多网站都改过数据库,支付宝好像是用Oracle,大众点评当年也是用mssql的。
    likuku
        43
    likuku  
       2014-02-08 17:28:43 +08:00
    @raptor 解决恶心的事情需要怨气积攒到能量槽全满才能爆发出大招嘛...
    aisensiy
        44
    aisensiy  
    OP
       2014-02-08 17:55:01 +08:00
    @min 谢谢回复
    flytwokites
        45
    flytwokites  
       2014-02-08 21:20:16 +08:00
    以前做企业软件时用的sql server,现在做网站是mysql。没有发现sql server比mysql好用。而且因为sql server软件臃肿庞大对系统要求高,经常在客户电脑上安装出现问题。
    min
        46
    min  
       2014-02-08 22:00:00 +08:00
    @raptor 我的意思是对mysql做了很多定制了,不太会挪到另外一个可以定制的开源数据库然后再定制一遍
    这和从不能定制的商业数据库迁移到开源数据库有点差别
    vibbow
        47
    vibbow  
       2014-02-09 06:42:44 +08:00
    @flytwokites sql server在调试方面简直比mysql好用太多太多太多太多了......
    xingxiucun
        48
    xingxiucun  
       2014-02-10 09:20:17 +08:00
    出问题有技术支持。。。。用mysql你指望谁来支持你?
    akira
        49
    akira  
       2014-02-12 10:42:38 +08:00
    sql server....出问题能打电话叫人处理。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   954 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:42 · PVG 05:42 · LAX 13:42 · JFK 16:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.