关系型数据库入门的疑问: SQLite 定位是?
主要是做.NET 开发,是不是没必要过一遍 SQLite,而是直接去从 Mysql/MarianDB 学起
主要是做.NET 开发,是不是没必要过一遍 SQLite,而是直接去从 Mysql/MarianDB 学起
区别就是,如果你要使用 MySQL 你得先安装 MySQL 服务,SQLite 就不用。只要能写入文件,你就能弄个 SQLite 数据库,适合脱机。
ps 主头像和我是一个人么
@matrix67 不是,这个是公主优衣
例如,客户端本地信息存储,微信似乎就是用 SQLite
有时候做快速原型开发,本地开发环境直接用个 SQLite, 一些适配代码(比如 ORM )写好,就可以变个配置无缝切换到 MySQL 之类的数据库
是的,可以不学,学会了 MySQL,这玩意看看就会
不学的话,没什么大问题。缺少一种嵌入式解决方案而已。
另一方面,你要记得一些弊端:
并发低(因为依赖文件的读写锁,跨线程等于全库加锁)
跨机器难(包括数据库单独机器和多服务器
无法缓存优化后的 SQL (未确认
你可以把一个大的数据库,保存为一系列的 changeset,需要的时候合并成为可用的 sqlite 数据库。这些 changeset,可以放在 aws s3 这种对象存储中。
不过总体而言,没必要特地去学,我估计你现在需要的是 SQL 的基础知识而不是 SQL 某一特定实现的情况。
那样的话,SQLite 和其他一样都是一个选择而已。
如果会 SQL 了,等要用了再学也不迟,反正不难。
另一方面其实是单文件 NoSQL 目前没有能打的(
@fiveelementgid .NET 的话还是用 SQL Server 最佳组合,无脑 EF Core,转换到 SQLite/MySQL/MariaDB 去给 EF Core 换一个 Provider 就行了,不过可能存在一些细微的兼容性问题