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

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

  •  
  •   icebarley · 2021-08-04 16:58:15 +08:00 · 6263 次点击
    这是一个创建于 1226 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没有后端基础,想了解一下 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
    随便一个都行
    l4ever
        40
    l4ever  
       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 + CloudKit 我是相对比较熟,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   ·   实用小工具   ·   4642 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:47 · PVG 11:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.