何时使用SQLite

关于SQLite的基础介绍本文就不再赘述,想要了解的请自行百度。接下来说一下一些使用经历。

SQLite数据库在一开始学习Flask的时候我就使用过,那时候用它是因为在Windows环境下搭建MySQL环境过于复杂,同时为了方便调试程序方便而折中采用了这个方案。

随着接触的东西变多,慢慢的更加认识到SQLite魅力所在。其实很多时候完全没必要上MySQL数据库,因为很多程序、网站实际的数据量并不多,而且是运行在单机环境下的。很多的小型网站、甚至是中型网站完全也可以采用SQLite作为数据库。

在搭建网站的时候,关于数据库可以有以下几种选项

我目前做的项目均是采用最后一种方式,因为这种方式可以一个数据库给多个后端应用程序调用。但如果是一个小型网站的话,完全可以采用第一种方式,既省钱(每个月60),又可以提升服务器的性能(减少一次数据库调用)。

数据量在10W以下,每日调用在10W次以下,都可以理解为小型网站。实际上数据量与调用次数提升10倍,SQLite数据库也是可以支撑的住。

同时在单机的情况下,可以少去搭建MySQL数据库的麻烦、减少服务器资源消耗。同时作为文件型数据库,操作起来非常方便,同时不会暴露端口也没有被黑客攻击的危险。

在做网站的时候,很多时候大家都会选择MySQL作为数据库,然后在大多数情况下,其实都可以使用SQLite代替MySQL,接下来我们就对比一下它们俩在做网站程序的差异。

在当你的网站不是很大时,完全可以采用SQLite代替MySQL。同时因为关系对象模型(ORM)的存在,在会使用MySQL的情况下,ORM工具完全可以抹平新技术的学习成本。

我一般是使用flask-SQLAlchemy开发Web程序,使用MySQL还是SQLite只要修改一下SQLAlchemy的数据库连接地址就可以实现自由切换。而对于数据库的操作,只要专注于模型的定义与方法的使用即可,一点儿也不用担心SQLite与MySQL之间的语法差异。

翻译不完整,更多详情请见原文。原文地址见附录。

SQLite不能直接与C/S架构的SQL数据库(如MySQL、Oracle、PostgreSQL或SQLServer)相比较,因为SQLite试图解决的是不同的问题。

C/S架构的数据库致力于实现数据的共享存储,它们强调可扩展性、并发性、集中化和控制。SQLite致力于为单个应用程序和设备提供本地数据存储。SQLite强调经济、效率、可靠性、独立性和简单性。

SQLite作为大多数中低流量网站的数据库引擎非常好用。SQLite能够处理的网络流量数量取决于网站对其数据库的使用程度。一般来说,任何一个点击率低于100K/天的站点都可以使用SQLite。10万点击量/天数是一个保守的估计,而不是一个硬上限。SQLite已经被证明可以处理10倍于此的流量。

因为SQLite数据库几乎不需要管理,因此对于那些无人值守运行或者无人工技术支持的设备,SQLite是一个很好的选择。SQLite非常适合运行在手机、机顶盒、电视、游戏机、照相机、厨房电器、恒温器、汽车、飞机、遥控器、无人机、医疗设备和机器人等物联网设备之中。

C/S架构的数据库就是为网络数据中心而精心设计。SQLite也可以运行在网络环境里面,并且在一些场景下蓬勃发展,为一些原本不可靠的连接提供数据服务。

SQLite通常作为桌面应用程序的本地磁盘文件格式,例如版本控制系统、金融财务分析工具、视频媒体编目和编辑套件、CAD包、记录保存程序等。

了解SQL的人可以使用SQLite命令行(或者第三方工具)来分析大量的数据。也可以从CSV文件导入原始数据,然后对这些数据进行处理,用来生成无数的简要报告。更复杂的分析也可以通过使用Tcl或者Python编写脚本,使用R语言或其他语言进行处理,大多数语言都已经适配了SQLite可以直接使用。可以完成的任务包含网站日志分析、体育统计分析、编程指标汇编和实验结果分析。许多生物信息学研究人员以这种方式使用SQLite。

当然,对于C/S架构的数据库也可以这样做。SQLite的优点是更容易安装和使用,并且生成的数据库是一个单独的文件,可以写入USB或通过电子邮件发送给同事。

系统设计人员报告称,成功地将SQLite用作数据中心中运行的服务器应用程序的数据存储,或者换句话说,使用SQLite作为特定于应用程序的数据库服务的底层存储引擎。

使用这种模式,整个系统仍然是C/S架构:客户端向服务器发送请求,并通过网络得到回复。但是,客户端请求和服务器响不是发送一般的SQL和获取原始表内容,而是高级的、特定于应用程序的指令(译者推测是类似RPC协议的东西)。服务器将请求转换为多个SQL查询,收集结果,进行后处理、筛选和分析,然后构造只包含基本信息的高级回复。

开发人员报告说,在这种情况下,SQLite通常比C/S架构数据库引擎更快。数据库请求是由服务器序列化的,因此并发性不是问题。并发性也通过“数据库分片”得到了改善:为不同的子域使用单独的数据库文件。例如,服务器可能为每个用户都有一个单独的SQLite数据库,这样服务器就可以处理数百或数千个同时连接,但每个SQLite数据库只能由一个连接使用。

如果你正在编写一个使用企业级数据库引擎的客户端程序,使用一个允许你连接不同SQL数据库引擎的通用型数据库后台将是很有意义的。这样,客户机程序就可以与SQLite数据文件独立使用,用于测试或演示。

一个很好的经验法则是,在同一数据库可以直接访问(没有中间的应用程序服务器)并且可以从网络上的多台计算机同时访问的情况下,避免使用SQLite。

SQLite作为网站的数据库后端,通常可以正常工作。但是,如果网站是读写密集型或者繁忙到需要多台服务器,那么可以考虑使用C/S架构数据库而不是SQLite。

SQLite数据库的大小限制为281TB(2的48次方字节,256tibibytes)。而且即使SQLite可以处理更大的数据库,它也会将整个数据库存储在一个磁盘文件中,而且许多文件系统将文件的最大大小限制在不超过这个值的地方。因此,如果您正在考虑这种规模的数据库,那么最好考虑使用一个C/S架构的数据库引擎,该引擎可以将其内容分散到多个磁盘文件中,也许还可以分散到多个卷中。

1、数据是否通过网络与应用程序分离→选择C/S架构数据库

关系数据库引擎起到减少带宽的数据过滤器的作用。因此,最好将数据库引擎和数据保持在同一个物理设备上,这样高带宽引擎到磁盘的链接就不必穿越网络,只需穿越低带宽应用程序到引擎的链接。

但是SQLite是内置在应用程序中的。因此,如果数据位于与应用程序分开的设备上,则需要跨网络的更高带宽引擎到磁盘的链路。这是有效的,但是不是最优的。因此,当数据位于与应用程序分离的设备上时,通常最好选择C/S架构的数据库引擎。

2、高并发写入→选择C/S架构数据库

如果许多线程和/或进程需要同时编写数据库(它们不能排队轮流编写),那么最好选择支持这种功能的数据库引擎,这就意味着是C/S架构的数据库引擎。

3、大量的数据→选择C/S架构数据库

如果你的数据将增长到不适合或无法放入单个磁盘文件的大小,那么您应该选择SQLite以外的解决方案。SQLite支持最大281TB的数据库,前提是您可以找到支持281TB文件的磁盘驱动器和文件系统。即便如此,当内容的大小看起来可能会慢慢进入TB范围时,最好考虑一个集中的C/S结构的数据库。

4、否则→选择SQLite!

对于具有低并发性写入和少于1TB内容的设备本地存储,SQLite几乎总是一个更好的解决方案。SQLite快速可靠,不需要配置或维护。这样事情就简单多了。

THE END
1.网络系统的总体架构mob64ca12d9b014的技术博客从开发环境迁移到生产环境可使用云服务(如 AWS、Azure)或本地服务器。持续监控应用的性能和问题,并进行定期维护和更新。 四、结束语 在本篇文章中,我们从项目启动到完成的每一个步骤进行了详细讲解。从需求收集到架构设计,再到数据库设计和系统开发,希望你能够掌握网络系统总体架构的基本实现方法。掌握这些基础知识将https://blog.51cto.com/u_16213338/12886814
2.常见网站结构网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服务器就够了,这时应用程序、数据库、文件等所有资源都在一台服务器上,网站架构如下图所示: https://blog.csdn.net/qq_63926306/article/details/135734494
3.常见的网站服务器架构有哪些–PingCode常见的网站服务器架构主要包括单一服务器架构、集群服务器架构、云服务器架构、分布式服务器架构。其中,云服务器架构被广泛采用,因为它提供了灵活性、可扩展性和成本效率。在云服务器架构中,资源可以根据需求动态分配,允许网站根据流量和计算需求自动扩缩容,有效管理成本同时保持性能。 https://docs.pingcode.com/ask/90756.html
4.大型网站高并发解决方案分析之图片服务器分离架构服务器现在很多的网站上都会用到大量的图片,而图片是网页传输中占主要的数据量,也是影响网站性能的主要因素。因此很多网站都会将图片存储从网站中分离出来,另外架构一个或多个服务器来存储图片,将图片放到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显提高了,图https://www.jb51.net/article/136930.htm
5.交易类网站通常采用哪些技术架构?这些架构有何特点?交易类网站通常采用哪些技术架构?这些架构有何特点? 在期货交易领域,交易类网站的技术架构是其高效运作的基石。这些架构不仅需要确保系统的稳定性和安全性,还要提供快速的交易执行和实时的数据更新。以下是几种常见的交易类网站技术架构及其特点: 1. 客户端-服务器架构https://futures.hexun.com/2024-09-01/214284899.html
6.常见的网站服务器架构有哪些?系统架构演化历程-初始阶段架构 初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务https://www.zhihu.com/question/20657269/answer/32678620
7.网站服务器解决方案USA解决方案架构 方案全景 后端架构 web层架构 安全层架构 网站解决方案架构 满足初创网站快速上线均采用免备案服务器,网站源IP均使用高防CDN隐藏,从而保证网站的安全性,高速分发提升前端体验和seo效果 架构功能 该架构着重于对于配置升级的弹性与项目成长的长远考虑,用户可以灵活升级自己的服务器,并且可以根据需求更换升级配https://www.usa-idc.com/solutions/web.shtml
8.为何云平台服务器普遍采用x86架构?大多数开发者和用户都更加熟悉x86架构的处理器,在云平台上使用x86服务器,更容易吸引开发者和用户,促进了更广泛的应用和采用。 5、虚拟化支持: 云平台中广泛使用虚拟化技术,将物理服务器划分为多个虚拟机,x86架构的处理器具有良好的虚拟化支持,可以运行各种类型的虚拟机,提供强大的计算能力和灵活的资源分配。 https://www.kdun.com/ask/1138948.html
9.常见的网站服务器架构有哪些?酷赛瑞常见的网站服务器架构有哪些? 初始阶段的网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服务器就够了,这时应用程序、数据库、文件等所有资源都在一台服务器上,网站架构如https://www.cnblogs.com/cosiray/p/6483579.html
10.采用KFM技术,监控文件服务器系统内核捕获文件变化;8消息万兆背板硬件架构,提供8个10/100/1000BASE-TX接口,2个SFP+万兆接口;5、系统吞吐量≥8G;内部系统交换带宽≥15G;延时0.1ms;6、支持数据库同步,支持大字段传输,支持异构数据同步,具备数据库同步系统软件著作权登记证书;(提供证书复印件)7、支持文件传输,采用KFM技术,监控文件服务器系统内核、捕获文件变化;8、消息传输https://xunjia.zjtcn.com/askInfo/4011561.html
11.网站优化步骤和技巧,怎么做网站SEO的方法?(2024更新)6. 选择高配置的服务器确保海外用户的访问速度(GTMetrix评分) 7. 开启图片格式(Webp)转化,压缩图片,提高网页加载速度 8. 安装网站SSL证书,从Http跳转到Https 9. 设置好网站地图和robots.txt文件 谷歌技术SEO主要是在建站阶段,确保我们能拥有一个符合谷歌SEO标准的网站架构,这是一个优秀外贸网站的基础。这里有更详https://www.globalsir.com/web-seo/
12.凤岭医院(东院)底层架构需求参数(最新版)人员招聘信息公告6.采用的所有服务器具有先进的、开放的体系结构; 7.提供统一、智能的运维管理工具,提供图形化的监控工具,具备自动化运维能力。软件提供查看服务器负载、存储、网络等信息,对服务器运行情况和资源占用情况能有效跟踪,并提供异常情况告警功能;具备完善的系统日志记录功能。 http://www.gxhospital.com/open_ryzp/2019/nelvyrbK.html
13.大型网站后台架构的WebServer与缓存PHP开发相关主要有客户端的浏览器缓存,服务器端的web server自身缓存,代理缓存,分布式缓存,数据库自身的缓存等。本节主要分析一下代理缓存和分布式缓存。 1.2.1 代理缓存 在网站后台架构中,代理缓存主要部署在web server之上,当用户对网站后台发起连接请求时,用户请求先到代理缓存中去查找,如果命中,则将请求返回给用户,如果没有https://www.open-open.com/bbs/view/1319767005656
14.化平台建设的指导意见省政府办公厅文件信息平台采用云计算、大数据、移动互联网、物联网等先进技术,以面向服务架构(SOA)的应用设计架构建设,基于J2EE等主流技术体系,支持跨平台应用;基于组件化、层次化的技术架构,支持动态部署。 三、建设内容 (一)公共服务平台 公共服务平台作为全省公共资源交易信息整合的枢纽,是全省公共资源交易的大数据中心,是交易信息https://www.yn.gov.cn/zwgk/zfgb/2016/2016d14q/szfbgtwj/201607/t20160701_144211.html
15.超微GPU服务器的基本架构和工作原理是什么?超微GPU服务器是一种高性能计算服务器,采用了专门设计的图形处理器(GPU)来加速计算任务。它具有独特的硬件组成和软件支持,能够在科学计算、人工智能和深度学习等领域发挥重要作用。以下是超微GPU服务器的基本架构和工作原理的详细介绍: 1.硬件组成 超微GPU服务器的核心是由多个GPU芯片组成的图形处理器集群。每个GPU芯片https://www.mfisp.com/26462.html
16.大型网站技术架构大型网站都是由小型网站演变而来的,网站架构也一样 小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样: 小型网站架构 应用程序、数据库、文件等所有资源都在一台服务器上,通常使用 Linux PHP MySQL Apache 就可以完成整个项目部署,然后再买个域名,租一个廉价的服务器就可以开始我们的网站之旅了https://www.thinkphp.cn/code/2510.html
17.一个普通的网站发展成大型网站过程中网站架构是如何变化的百度需要处理大量的搜索请求,都有自己的业务特点,系统架构也不一样。然而,我们也可以从这些不同的网站背景中找到共同的技术。这些技术和手段被广泛应用于大型网站系统的架构中。以下是介绍大型网站系统的演变过程,以了解这些技术和手段。 首先,最初的网站架构 在一台服务器上部署了最初的架构、应用程序、数据库和https://www.iwanshang.cn/info-2021011131155.html
18.2020级五年制人才培养方案1.进行以为人民服务为核心、以集体主义为基本原则的思想教育,帮助学生养成“诚实守信、爱岗敬业、办事公道4.采用多媒体、网络技术现代化教学手段,改善教学条件考核项目与要求: 平时考核与期末考核各占50%。平时学习领域6:微控制器应用 学习领域7: PLC应用 学习领域8: 变频器原理 学习领域6:新能源电技术 http://www.jxxdjsxy.com/jiaowuzaixian/zhuanyeshezhi/2022-06-19/8135.html
19.云服务器云主机云服务器租用22年行业经验,云服务器排名市场前8名,拥有良好的品牌形象和服务口碑,管理着超过50万个网站。 备案方便 无需幕布,自助手机拍照即可完成核验,备案全程电子化。 免费办理,全程专员协助,助您高效便捷通过网站备案。 高性能 主机vCPU、内存各项性能指标业界领先,超高I/O速度 SSD固态硬盘,优异的云架构和计算能力满足各种https://www.west.cn/services/cloudhost
20.架构服务器分为哪几种?什么是架构服务器?聚名资讯什么是架构服务器?很多人听过各种类型的服务器,而架构服务器是一种比较特殊的服务器,可能很多人不知道,咱们今天就要说的架构服务器的几个种类,希望对大家有帮助! CISC架构服务器 首先说到CISC架构服务器,他的英文名称是“Complex Instruction Set Computer”,自从计算机诞生以来,我们使用的一直是CISC指令集模式。早期https://www.juming.com/zx/8763.html