想做一个国内用的 APP,数据库选用什么比较好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
icebarley
V2EX    数据库

想做一个国内用的 APP,数据库选用什么比较好?

  •  
  •   icebarley 2021-08-04 16:58:15 +08:00 6744 次点击
    这是一个创建于 1532 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没有后端基础,想了解一下 2021 年当下基于个人小 APP 开发,主要面向国内用户,该怎么选用数据库?数据库想用于 APP 获取数据展示,主要数据由开发者提交创建,同时 APP 用户也有权限对部分数据进行操作修改。

    目前了解到苹果的 CloudKit 有 public database,基本能满足我想做的,但是缺点是跨平台问题,同时担忧国内访问速度。然后 Firestore Datebase 也有了解了一下,也是担心国内访问问题,以及是否会有通信方面的安全问题。

    因为没有开发过联网、有数据通信的 APP,所以真的很多疑问。现在想学习这方面的内容,请教大家有什么建议吗?
    57 条回复    2021-08-06 10:25:50 +08:00
    misaka19000
        1
    misaka19000  
       2021-08-04 17:01:46 +08:00
    。。。mysql 足够了
    Smash
        2
    Smash  
       2021-08-04 17:05:28 +08:00
    做着玩就 sqlite 吧.

    百度关于 Sqlite 的介绍"自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎"
    dzdh
        3
    dzdh  
       2021-08-04 17:05:29 +08:00   2
    janxin
        4
    janxin  
       2021-08-04 17:05:30 +08:00
    BaaS 考虑一下?
    360511404
        5
    360511404  
       2021-08-04 17:06:45 +08:00
    如果要跨平台,还是建议放弃 cloud kit
    虽然 cloudkit 有 js 的 api 但是难以解决跨平台 Apple id 的问题
    而且 cloudkit 很难用,联表查询都没有...数值自增也没有...连记录统计都没有...只能靠游标
    zliea
        6
    zliea  
       2021-08-04 17:14:13 +08:00
    如果是有一定投入,推荐各种云上的数据库 SAAS Mysql 服务器。
    如果投入比较小,单机+定时备份 /主备的 mysql
    wizzer
        7
    wizzer  
       2021-08-04 17:24:15 +08:00
    MariaDB
    icebarley
        8
    icebarley  
    OP
       2021-08-04 17:30:25 +08:00
    楼上各位大佬都推荐不一样的,百度了半天哈哈哈。。。目前来看感觉 BaaS 或者 PaaS 好像合适一些,我也想要开箱即用就好,只要能保证数据安全、速度快就行了
    QHKZ
        9
    QHKZ  
       2021-08-04 17:33:03 +08:00
    sqlite 比较弱,少了一些 database 的功能特点。
    https://www.cnblogs.com/caiyongliang/p/13719347.html
    这里有个关于数据库的跑分比较,最后是 postgresql 胜出了。
    https://itnext.io/benchmark-databases-in-docker-mysql-postgresql-sql-server-7b129368eed7
    suzic
        10
    suzic  
       2021-08-04 17:45:08 +08:00 via Android
    想认真搞就 mysql 吧
    native
        11
    native  
       2021-08-04 17:47:48 +08:00
    非必要数据直接备份到 icloud 就行了。 这样还保护了用户隐私
    icebarley
        12
    icebarley  
    OP
       2021-08-04 17:57:15 +08:00
    @native 是的,但是还有部分公共数据,比如 APP 打开之后获取数据进行展示,想要由开发者这边来控制展示。
    Anonywp
        13
    Anonywp  
       2021-08-04 18:09:16 +08:00
    只要数据不是特别复杂上 BaaS 就完事了,现在各种云服务已经做的很强大了
    wobuhuicode
        14
    wobuhuicode  
       2021-08-04 18:12:26 +08:00
    mongodb
    a516307724
        15
    a516307724  
       2021-08-04 18:14:19 +08:00
    mysql,主要是遇到问题网上的案例也多
    est
        16
    est  
       2021-08-04 18:17:01 +08:00
    这么多推荐 mysql 的?

    我推荐一下 pg 。或者退一步 mysql 8 以上。
    SorcererXW
        17
    SorcererXW  
       2021-08-04 18:56:12 +08:00
    业务不复杂,数据量不大,直接用 leancloud 就好了,也不花钱
    zoharSoul
        18
    zoharSoul  
       2021-08-04 19:05:32 +08:00
    mysql 即可
    eason1874
        19
    eason1874  
       2021-08-04 19:10:25 +08:00
    腾讯云云开发 CloudBase 也可以考虑,有免费额度,弹性伸缩,流量上来了扩容也方便
    dingdangnao
        20
    dingdangnao  
       2021-08-04 19:24:15 +08:00
    mongodb 方便一点吧
    wangkun025
        21
    wangkun025  
       2021-08-04 19:31:51 +08:00
    MySQL 或者 mariadb
    Actrace
        22
    Actrace  
       2021-08-04 19:32:22 +08:00
    微林的 mysql 云数据库服务可以试试,免费。
    cucldk
        23
    cucldk  
       2021-08-04 20:07:44 +08:00
    能透露一下具体是啥 app 吗,你这个需要的就是写接口的事吧,我熟悉后端,不熟悉前端,最近比较闲,看看要不要合作下
    yitingbai
        24
    yitingbai  
       2021-08-04 20:10:43 +08:00
    sqlite
    Huelse
        25
    Huelse  
       2021-08-04 20:14:32 +08:00
    墙裂推荐 pg
    Maxwe11
        26
    Maxwe11  
       2021-08-04 20:33:58 +08:00
    我个人很喜欢 postgresql,但是如果考虑日后的维护,并不是说 pg 不能维护,只是用这个的人太少了,所以不好找人,不像 mysql,就像修车修桑塔纳,是个人就会修。
    wenzichel
        27
    wenzichel  
       2021-08-04 20:39:25 +08:00   1
    之前看到一句话,“当 mysql 不足以支撑你的业务时,说明你们的公司也该上市了”
    xl9211
        28
    xl9211  
       2021-08-04 20:39:57 +08:00
    你做的这个 App 是什么类型的?
    waising
        29
    waising  
       2021-08-04 20:45:35 +08:00
    postgresql +1
    MarkLeeyun
        30
    MarkLeeyun  
       2021-08-04 22:20:34 +08:00
    sqlite3
    RRRSSS
        31
    RRRSSS  
       2021-08-04 22:39:14 +08:00
    leancloud 足以
    shilianmlxg
        32
    shilianmlxg  
       2021-08-04 23:27:44 +08:00
    蹲一个大佬解释 postgresql 还是 mongodb mysql 的好处是啥 前端想学数据库 看到这么多很迷茫
    salor
        33
    salor  
       2021-08-05 02:14:25 +08:00
    前几年做了个图片分类的 app,有用户反映已经存了几个 G 的图片,数据库用的 sqlite,有大佬指导一下怎么实现几个 G 的 iCloud 备份吗,iCloud 没法直接备份 sqlite 数据库,没思路。
    gBurnX
        34
    gBurnX  
       2021-08-05 02:36:22 +08:00
    认真搞用 mysq,严谨搞用 MSSQL,尽快搞用 MongoDB,前期低成本搞用 sqlite,轻松搞通知小张或小王并准备好钱。
    pengtdyd
        35
    pengtdyd  
       2021-08-05 03:38:50 +08:00
    前期 mysql,后期也是集群,绝对稳得住
    rannie
        36
    rannie  
       2021-08-05 07:51:47 +08:00
    云 mysql
    skys215
        37
    skys215  
       2021-08-05 08:49:08 +08:00
    面向哪个国家的用户和用什么数据库之间的关系是什么?我没明白

    如果是问用哪个提供商的云数据库,那我还能理解,毕竟有费用和墙在

    不同数据库产品开发出来是为了满足不同的使用需求的,就像各种编程语言那样。

    个人认为,目前只是开发小 app 的话,大概率不会有很多数据,那用哪个数据库都一样。当需要使用到特定数据库的某个特性的时候再考虑用哪个也不迟。
    vicnicLight007
        38
    vicnicLight007  
       2021-08-05 08:57:24 +08:00
    @Actrace 微林要邀请码,大佬你有吗
    hdfg159
        39
    hdfg159  
       2021-08-05 09:05:27 +08:00 via Android
    随便一个都行
    luckyc
        40
    luckyc  
       2021-08-05 09:13:57 +08:00
    刚开始 sqlite 把, 用 orm,
    后期有 10w+用户再考虑云数据库, 切换也就分分钟的事情.
    RRRoger
        41
    RRRoger  
       2021-08-05 09:43:03 +08:00
    mysql 和 postgres 看自己喜欢和熟悉程度选一个吧
    Actrace
        42
    Actrace  
       2021-08-05 09:56:21 +08:00
    xiqishow
        43
    xiqishow  
       2021-08-05 10:06:39 +08:00
    appwrite 类似 firebase https://appwrite.io/
    ericguo
        44
    ericguo  
       2021-08-05 10:33:55 +08:00
    起手 mysql 8,后面转 pg,转 TiDB,转啥都方便。
    libook
        45
    libook  
       2021-08-05 10:47:33 +08:00
    需求是变化的,你现在的设计只能覆盖到未来有限的时间,未来的需求变化谁都没法预测,所以没必要想太远,否则就会成为过度设计。

    练手做着玩的话可以先用些轻量级的数据库,比如 SQLite,后续根据运营情况来评估痛点是什么,需不需要换新的数据库方案,你用 ORM 的话一般都是支持多种关系型数据库的,迁移问题应该不会很大。
    devcat9
        46
    devcat9  
       2021-08-05 10:53:50 +08:00
    先用 CoreData + CloudKit,iOS 平台做成功了再迁移也不迟
    CoderLife
        47
    CoderLife  
       2021-08-05 10:53:53 +08:00
    PostgreSQL
    zengxs
        48
    zengxs  
       2021-08-05 10:58:22 +08:00
    可以看下微软的 CosmosDB,兼容 MongoDB 的 API,每个账户有 25GB 和 1000RU/s 的永久免费额度
    就当个不用自己运维的 MongoDB 用就行了,后期做大了切换到私有 MongoDB 也比较容易
    xliao
        49
    xliao  
       2021-08-05 11:00:42 +08:00   1
    楼主说的是个人小 APP,上来就给人家推荐用 pg 也是醉了,不用考虑成本和维护的么
    icebarley
        50
    icebarley  
    OP
       2021-08-05 11:21:22 +08:00
    @devcat9 CoreData + loudKit 我是相对比较熟,apple 的数据库能迁移的话,那我也可以先按熟悉的来,而且暂时也只会 iOS 开发
    devswork
        51
    devswork  
       2021-08-05 11:41:06 +08:00
    阿里云 mysql,新人用户又不贵,还不用自己搭建,买完账号密码一连就可以开始了
    fasling
        52
    fasling  
       2021-08-05 13:24:01 +08:00
    显然是 mysql 啊
    Felldeadbird
        53
    Felldeadbird  
       2021-08-05 13:57:44 +08:00
    mysql 。学一下范式要求、索引。了解 explain 调优。 接触 mysql 一个月的开发,基本都掌握了
    lzihua
        54
    lzihua  
       2021-08-05 14:47:06 +08:00
    sqlite
    zjz1993
        55
    zjz1993  
       2021-08-05 16:25:31 +08:00
    mongodb ?
    wensonsmith
        56
    wensonsmith  
       2021-08-05 19:21:50 +08:00
    supabase,firebase 开源替代
    vicnicLight007
        57
    vicnicLight007  
       2021-08-06 10:25:50 +08:00
    @Actrace 你说,就这种推广模式,他们怎么赚钱……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     908 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 21:11 PVG 05:11 LAX 14:11 JFK 17:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86