Access也是微软Office套餐中的经典产品。虽然在许多人眼里,Access已经是上古时代的产品,但实际上它一直深受好评,并且稳定发展。之所以在许多IT人士眼里,Access不值一提的主要原因恰恰也是它深受非专业人士喜欢的原因:专供非IT人士自用的数据库。 Access生命力强的原因如下: ◆Access聚焦于“自用软件开发”,既然是“自用”,那当然是省却不必要的功能,尽量满足快速开发的那部分框架最好。所以Access对软件的开发性能要求并不高,导致升级动力不强,功能非常稳定。也就是说Access的使用者是自己开发软件给自己用的,个人色彩浓厚,自己种地自己吃,使用越简便越好,技术路线越固定...

  uI9g25T1kUX1   2023年11月02日   88   0   0 Python

MongoDB号称文档数据库,是目前发展迅速的NoSQL数据库。它由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 主要功能特性有: ◆面向集合存储,易存储对象类型的数据。 ◆模式自由。 ◆支持动态查询。 ◆支持完全索引,包含内部对象。 ◆支持查询。 ◆支持复制和故障...

  uI9g25T1kUX1   2023年11月02日   40   0   0 Python

PostgreSQL MySQL的口号是“世界上最流行的开源关系型数据库”,而PostgreSQL的Slogan则是“世界上最先进的开源关系型数据库(PostgreSQL:TheWorld'sMostAdvancedOpenSourceRelationalDatabase)”,一看这就是一对老冤家了。这两个口号很好的反映出了两者的形象特质:PostgreSQL是功能丰富,高大上的严谨的学院派数据库;MySQL是轻简粗陋,糙猛快的“工程派”数据库。的确,除了MySQL外PostgreSQL(以后简称PG)是我们经常选择的数据库之一。它不仅仅是关系型数据库,同时也添加了对JSON数据的支持、全文检...

  uI9g25T1kUX1   2023年11月02日   33   0   0 Python

Neo4j是一个高性能的开源的,使用Java语言实现的NoSQL图数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。现实中很多数据都是用图来表达的,比如社交网络中人与人的关系、地图数据、或是基因信息等等。RDBMS并不适合表达这类数据,而且由于海量数据的存在,让其显得捉襟见肘。NoSQL数据库的兴起,很好地解决了海量数据的存放问题,图数据库也是NoSQL的一个分支,相比于NoSQL中的其他分支...

  uI9g25T1kUX1   2023年11月02日   75   0   0 Python

Elasticsearch Elasticsearch是一个基于Lucene的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful的API接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是非常流行的企业级搜索引擎。官方支持的客户端语言包括Java、.NET(C)、PHP、Python、ApacheGroovy、Ruby等。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是ApacheSolr,而Solr也是基于Lucene开发的。 Elasticsearch的安装方式有许多,官方...

  uI9g25T1kUX1   2023年11月02日   22   0   0 Python

Timescaledb 在物联网时代,出现了大量以时间为中心海量产生的传感器数据,称为时序数据。这类数据的特点是: 数据记录总有一个时间戳。 数据几乎总是追加,不更新也不删除。 大量使用近期的数据。很少更新或者回填时间间隔的缺失数据。 与时间间隔频率关系不大。但累积的数据量大,可能会有峰值。 对这类数据有多种聚合查询的需求,并且越快越好。例如,截止到目前为止,最大值/最小值/平均值是多少,数据流速是多少等。 为此,IT界兴起了时序数据库。TimeScaleDB是其中的佼佼者,截止到2022年7月,它的排名在第5名,值得使用。由于TimeScaleDB是postgresql的一个插件,因此非...

  uI9g25T1kUX1   2023年11月02日   71   0   0 Python

SQLAlchemy是著名的ORM(ObjectRelationalMapping-对象关系映射)框架。其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。对许多语言(例如JAVA/PYTHON)来说就是定义一个对象,并且这个对象对应着一张数据库的表。而这个对象的实例,就对应着表中的一条记录。 其整体思路如下图所示: 其中类、对象与属性与数据库相关内容的对应关系如下图所示: ORM的优点:   数据模型与代码统一定义,更新与维护简单,代码高度重用一致。 ORM有现成的工具,很多功能都可以自动完成,比如表格增删、预处理、事务等。 基于ORM的业务代码比较简单,代码量...

  uI9g25T1kUX1   2023年11月02日   68   0   0 Python

基于Docker的数据库开发环境 前文介绍了sqlite/mysql/mssql等数据库系统在ubuntu的安装与部署过程,相对是比较复杂的,需要耐心等待下载以及排除各种故障,对于开发人员来说是不太友好。在某些情况下,开发人员要测试在多个数据库环境下软件的正确性,需要部署多个数据库,为此可以使用Docker技术。 Docker提供了基于镜像的运行环境,可以将操作系统、应用程序以及相关依赖打包,为使用者提供完整的使用体验,因此一经推出大获好评,迅速成为主流的软件开发技术之一。Docker有着完善的命令行功能,在Windows环境下有多种GUI管理软件,本文对Docker不再赘述。下面先在ubun...

  uI9g25T1kUX1   2023年11月02日   64   0   0 Python

使用zlib对数据进行压缩 现实世界中,大量存在着对数据压缩的需求。为此,python内置了zlib压缩库,可以方便的对任意对象进行压缩。 下述代码演示了对字符串进行压缩: importzlib 压缩一段中文 originstr='神龟虽寿,犹有竟时;腾蛇乘雾,终为土灰。老骥伏枥,志在千里;烈士暮年,壮心不已。盈缩之期,不但在天;养怡之福,可得永年。幸甚至哉,歌以咏志。' print(len(originstr)) str_compression=zlib.compress(originstr.encode('utf-8'),level=8) print(len(str_compressi...

  uI9g25T1kUX1   2023年11月02日   56   0   0 Python

前期我们提到,在研发过程中,可能由于迭代变化或需求调整等等原因会导致团队欠很多技术债,从而导致随着项目的运行,技术债务越积越多,导致给用户交付越来越慢,交付的软件质量越来越差,最终不可控,拖延整体交付进度,系统不可控等很多问题。 在实际研发工作过程中,我们基于一些工程学的方法,借助一些工具与方法,结合科学的流程,能够对降低技术负债起到一定的作用。 最近笔者学习和阅读了一些技术类书籍,其中领导推荐的一本《持续交付发布可靠软件的系统方法》书籍中所提到的理念和实践方法,对提升发布效率、减少技术债等就有一定的帮助,可供软件研发实践参考。 下面就结合笔者的一些实践,以及该书的一些理念,仅仅从持续交付中一...

  uI9g25T1kUX1   2023年11月01日   33   0   0 敏捷开发

在软件研发过程中,往往随着为了快速满足业务要求的压力,用户需求的变更,软件代码的增多,以及版本的迭代,团队成员的变化等等因素,导致一个软件项目随着时间推移,欠的技术债会越积越多,用户使用容易出错,部署流程也变得复杂。 技术债务不及时还掉,就会产生“利息”,进而导致软件复杂度呈指数级增长。代码行越多,逻辑越复杂,技术债务就会欠的越来越多,最终到了某个临界点的特定时刻,软件代码就会变得失控,没人知道里面改动会带来什么后果。每一次的需求修改调整,引发即使很小的代码修改,可能由于软件复杂度变高,都会带来新的问题,轻则导致软件无法正常使用,重则导致出现严重的问题,甚至系统崩溃无法正常使用等问题。随着时间...

  uI9g25T1kUX1   2023年11月01日   40   0   0 架构设计
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~