SQLite是一种经典的无服务器Serverless

解道jdon 2021-05-04 12:34:44
服务器 服务 SQLite 一种 经典


大多数SQL数据库引擎都是以单独的服务器进程提供外部访问,外部客户端想要访问数据库,就需要与服务器进程通信(通常是TCP / IP),这样可以将请求发送到服务器并接收回数据库服务器处理的结果。SQLite却无法以这种方式工作。使用SQLite,如果想要访问数据库,只能直接从磁盘上的数据库文件读取和写入。SQLite没有服务器进程。

无服务器具有优点和缺点。

主要优点是无需安装、设置、配置、初始化、管理单独服务器进程。这就是SQLite是“ 零配置 ”数据库引擎的原因之一。使用SQLite的程序在运行之前不需要任何管理支持即可设置数据库引擎。任何能够访问磁盘的程序都可以使用SQLite数据库。

另一方面缺点是:使用服务器进程的数据库引擎能够提供更好的保护,以防止客户端应用程序中的错误-客户端中的杂散指针就无法破坏服务器上的内存。而且由于服务器是单个持久性进程,因此它能够更精确地控制数据库访问,从而实现更细粒度的锁定和更好的并发性。

大多数SQL数据库引擎都是基于客户端/服务器的。在无服务器的数据库中,SQLite是唯一已知的一种,它允许多个应用程序同时访问同一数据库。

经典的无服务器与新无服务器

近来,人们开始使用“无服务器”一词来表示与本文档中的预期含义略有不同的内容。这是“无服务器”的两个可能的定义:

  1. 经典无服务器: 数据库引擎在与应用程序相同的进程、线程和地址空间中运行。没有消息传递或网络活动。
  2. Neo-Serverless新无服务器: 数据库引擎在与应用程序不同的命名空间中运行,可能在另一台计算机上,但是数据库由托管提供程序作为交钥匙服务提供,不需要应用程序所有者进行管理或管理,并且如此易于使用,以至于开发人员可以认为数据库确实是无服务器的,即使它确实在后台使用了服务器。

SQLite是经典的无服务器数据库引擎的示例。使用SQLite,没有其他进程,线程,机器或其他机制(主机OS和文件系统除外)可以帮助提供数据库服务或实现。确实没有服务器。

Microsoft Azure Cosmo DB 和 Amazon S3 是新的无服务器数据库的示例。这些数据库由在云中单独运行的服务器进程实现。但是服务器是由ISP而非应用程序开发人员维护和管理的。应用程序开发人员仅使用该服务。开发人员不必设置,配置或管理数据库服务器实例,因为所有这些工作都是由服务提供商自动处理的。数据库服务器实际上确实存在,它们只是对开发人员隐藏。

了解“无服务器”的这两种不同定义很重要。当数据库声称是“无服务器”时,请确保辨别它们是“经典无服务器”还是“新无服务器”。

 

版权声明
本文为[解道jdon]所创,转载请带上原文链接,感谢
https://www.jdon.com/53731

  1. JS: event flow
  2. Front end performance optimization: rearrangement and redrawing
  3. JS - deep and shallow copy
  4. JavaScript异步编程3——Promise的链式使用
  5. JavaScript asynchronous programming 3 -- chain use of promise
  6. Vue.js组件的使用
  7. The use of vue.js component
  8. How to judge whether a linked list has links
  9. Element UI custom theme configuration
  10. Text image parallax effect HTML + CSS + JS
  11. Spring的nohttp宣言:消灭http://
  12. Vue3 intermediate guide - composition API
  13. Analysis of URL
  14. These 10 widgets that every developer must know
  15. Spring's nohttp Manifesto: eliminate http://
  16. Learn more about JS prototypes
  17. Refer to await to JS to write an await error handling
  18. A short article will directly let you understand what the event loop mechanism is
  19. Vue3 uses mitt for component communication
  20. Characteristics and thinking of ES6 symbol
  21. Two way linked list: I'm no longer one-way driving
  22. Vue event and form processing
  23. Reactive TraderCloud实时外汇开源交易平台
  24. Reactive tradercloud real time foreign exchange open source trading platform
  25. Node.js REST API的10个最佳实践
  26. Ten best practices of node.js rest API
  27. Fiddler advanced usage
  28. Process from Vue template to render
  29. Promise up (asynchronous or synchronous)
  30. Principle and implementation of promise
  31. Vs code plug in sharing - run code
  32. Vue practical notes (1) introduction of Ant Design
  33. Vue actual combat notes (2) introduction of element plus
  34. Introduction to webpack
  35. Webpack construction process
  36. Vue notes
  37. The experience and lessons of moving from ruby megalith architecture to go microservice
  38. Using leancloud to add artitalk module to hexo blog
  39. Implementation of chrome request filtering extension
  40. Detailed introduction of beer import declaration elements and label quarantine [import knowledge]
  41. Gallop workflow engine design series 01 process element design
  42. VUE移动端音乐APP学习【十六】:播放器歌词显示开发
  43. Vue Mobile Music App learning [16]: player lyrics display development
  44. jquery cookie
  45. jquery cookie
  46. 体面编码之JavaScript
  47. JavaScript for decent coding
  48. React17 系统精讲 结合TS打造旅游电商平台
  49. React17 system combined with TS to build tourism e-commerce platform
  50. 2021-05-04 hot news
  51. HttpSession对象与Cooike的关系 以及 Cookie对象构造函数问题
  52. gRPC-Web:替代REST的gRPC的Javascript库包
  53. The relationship between httpsession object and cooike and the construction of cookie object
  54. Grpc Web: a JavaScript library package to replace rest grpc
  55. Building reactive rest API with Java - kalpa Senanayake
  56. PDF转HTML工具——用springboot包装pdf2htmlEX命令行工具
  57. Pdf to HTML tool -- Wrapping pdf2htmlex command line tool with springboot
  58. PDF转HTML工具——用springboot包装pdf2htmlEX命令行工具
  59. Pdf to HTML tool -- Wrapping pdf2htmlex command line tool with springboot
  60. Vue.js比jQuery更容易学习