V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jakeyfly
V2EX  ›  问与答

如果要搞一个足球比赛的数据库。sql 是否是首选, nosql 比如 mongodb 对于这类型数据库能搞吗

  •  
  •   jakeyfly · 2018-02-22 20:24:19 +08:00 · 2527 次点击
    这是一个创建于 2253 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设想如下: 以场次为单位,把一场比赛的所有数据存为 mongodb 的一条数据。是否可行。

    另:足球比赛这类型的数据库,各种查询计算,是否 sql 的优势巨大,nosql 无法胜任

    23 条回复    2018-02-26 13:50:55 +08:00
    qiayue
        1
    qiayue  
       2018-02-22 20:35:50 +08:00
    熟悉哪个用哪个
    XiaolinLeo
        2
    XiaolinLeo  
       2018-02-22 21:53:20 +08:00 via iPhone
    数据量不是很大的话两种类型的都很不错
    jakeyfly
        3
    jakeyfly  
    OP
       2018-02-22 22:04:13 +08:00
    @XiaolinLeo 大佬我举个例子 您看一下 那种数据库合适。。。。比如 比赛的输赢会关系到 排名表的变动 就是根据记录比赛自动维护联赛的排名名次。
    doubleflower
        4
    doubleflower  
       2018-02-22 23:36:59 +08:00
    除非你想顺便学 mongodb,否则 sql 更方便
    gstqc
        5
    gstqc  
       2018-02-22 23:46:30 +08:00
    SQL 优势太大了
    再说,很可能又有其他需求,比如:该场次上场球员,进球、进球球员 时间、射门、点球、角球、各种犯规、红黄牌……
    Mac
        6
    Mac  
       2018-02-22 23:52:02 +08:00
    肯定 SQL 啊
    HuHui
        7
    HuHui  
       2018-02-23 00:19:39 +08:00 via Android
    由具体业务来评估
    jakeyfly
        8
    jakeyfly  
    OP
       2018-02-23 01:12:59 +08:00
    @gstqc 大佬 我是怕 以后扩展 增加额外数据字段 不好弄 不太懂 SQL 要如何扩展
    yangqi
        9
    yangqi  
       2018-02-23 02:06:34 +08:00
    那么多复杂的关系,肯定是关系型数据库 sql 了。
    binux
        10
    binux  
       2018-02-23 02:15:48 +08:00
    @jakeyfly #8 ALTER
    jakeyfly
        11
    jakeyfly  
    OP
       2018-02-23 02:27:25 +08:00 via iPhone
    jakeyfly
        12
    jakeyfly  
    OP
       2018-02-23 02:28:22 +08:00 via iPhone
    @jakeyfly 扩展后 就是空字段啦 整个程序都要改
    johnnie502
        13
    johnnie502  
       2018-02-23 06:33:50 +08:00
    @jakeyfly 空字段又怎么了,可以设置成允许 NULL,你存成对象还不是有这些问题
    XiaolinLeo
        14
    XiaolinLeo  
       2018-02-23 06:35:27 +08:00 via iPhone
    @jakeyfly 那就选关系型数据库吧
    ila
        15
    ila  
       2018-02-23 07:36:32 +08:00 via iPhone
    字段先占位几个 null,以后改名字
    MonoLogueChi
        16
    MonoLogueChi  
       2018-02-23 07:53:49 +08:00 via Android
    数据量不大的话,随便一个数据库都能搞定,SQLite 应该都可以。既然牵扯到一些查询计算等等,后面还有可能做数据分析什么的,还有以后的可拓展性,建议选择一个稳定靠谱的关系型数据库。NoSQL 不敢评论,怕被喷。
    zjqzxc
        17
    zjqzxc  
       2018-02-23 10:01:06 +08:00
    查询维度多的话用 sql
    只需要根据特定字段检索的话 nosql
    TangMonk
        18
    TangMonk  
       2018-02-23 10:28:56 +08:00 via Android
    老实用 sql
    jakeyfly
        19
    jakeyfly  
    OP
       2018-02-23 13:00:20 +08:00
    @gstqc 大佬 这些数据其实就是一条数据里的一个字段啊,又不是实时记录,也没那 API。
    jakeyfly
        20
    jakeyfly  
    OP
       2018-02-23 22:20:25 +08:00
    是否 非一对多 一对一 只能是 多对多
    symons
        21
    symons  
       2018-02-24 19:37:26 +08:00
    数据规模有多大
    jakeyfly
        22
    jakeyfly  
    OP
       2018-02-24 19:59:34 +08:00
    @symons 我只知道 别人搞过 比较详细的记录 一年就 200M 这样
    symons
        23
    symons  
       2018-02-26 13:50:55 +08:00
    @jakeyfly 我建议选择关系型数据库,后续的数据查询和分析都很方便,还有在设计表结构的时候多投入些精力,以后会方便很多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1081 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:41 · PVG 06:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.