问一下大家, ios 开发本地数据库存储如何选型?

2020-06-05 17:08:11 +08:00
 youbohe

我是薄荷记账程序员,刚了解这个项目的时候,认为很简单,一个记账工具而已,没什么难的。 但深入之后,发现它有大量的表结构,业务很复杂,涉及到云同步,离线同步,双向同步,多人共享同步,甚至还有 webdav 备份。 数据查询也多,都是复杂的 sql 语句。 感觉用 ios 的 core data 很难下手啊!

4940 次点击
所在节点    iDev
21 条回复
ydatong
2020-06-05 17:17:15 +08:00
可以用 sqlite
youbohe
2020-06-05 17:19:50 +08:00
@ydatong c 语言版本的 sqlite?太原始了吧
ydatong
2020-06-05 17:21:45 +08:00
OC Swift 都有 sqlite 的封装库可以拿过来用的,github 上搜一下
youbohe
2020-06-05 17:26:41 +08:00
@ydatong 谢谢啦!
damngood
2020-06-05 17:50:23 +08:00
Sqlite.swift 或者 GRDB 都不错吧
MrStark
2020-06-05 17:56:45 +08:00
看看微信的 WCDB 合不合适
finab
2020-06-05 17:58:22 +08:00
可以试试 Realm,是全平台的

我甚至找到了一个自动用 iCloud 同步 Realm 的库
https://github.com/caiyue1993/IceCream
youbohe
2020-06-05 18:16:20 +08:00
@damngood 嗯 打算将 sqlite 封装一下的,swift 封装的好像只是语言转换,使用起来也比较原始
youbohe
2020-06-05 18:17:55 +08:00
@finab 谢谢你 我研究一下 主要需要双向同步,有逻辑控制。
youbohe
2020-06-05 18:18:32 +08:00
@MrStark wcdb 是封装 core data 的吧
ipadpro4k
2020-06-05 18:23:21 +08:00
搭车一问,如果本地记录有几十万条或者上百万条,能 icloud 同步吗,icloud 有没有大小限制或者数目限制
66450146
2020-06-06 05:08:01 +08:00
要么 sqlite 要么 core data,其他的不确定性太大

不要做任何一个第三方库的最大的用户
damngood
2020-06-06 09:05:30 +08:00
@ipadpro4k icloud 应该没有记录条数限制.
只是对每次操作的记录条数有限制.
而且对平均用户流量好像有限制,不过一般不滥用的话是没问题的. 记得以前是大概平均 50m 每用户吧

用户百万条记录这个量有点多吧.
youbohe
2020-06-06 09:07:15 +08:00
@ipadpro4k 兄弟 你是什么类型业务 本地存百万条记录有点多啊 客户端都是缓存点数据吧
tanranran
2020-06-06 09:26:56 +08:00
sqlite
MrStark
2020-06-06 10:21:23 +08:00
@youbohe 不是啊,wcdb 是跨平台的,怎么可能是封装的 core data 。
MikeFeng
2020-06-06 21:28:28 +08:00
sqlite 至少你换语言的时候不会很狼狈
youbohe
2020-06-08 10:55:59 +08:00
@MikeFeng 是的 sqlite 跨平台
iOSSer
2020-06-08 16:59:13 +08:00
MagicalRecord 或者 Realm 是最佳选择
youbohe
2020-06-08 17:24:23 +08:00
@iOSSer 人家说 realm bug 多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/679038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX