DB
文章平均质量分 50
abckingaa
一个软件设计爱好者。主要项目经验集中在银行等金融领域,有10余年工作经历。对软件设计如何提高开发效率,提高易维护性,易扩展性,分布式系统、大数据量高可用、高并发系统有深入研究!
展开
-
一文带你读懂分库分表,分片,Sharding的概念
一文带你读懂分库分表,分片,Sharding的概念原创 2024-09-28 00:30:09 · 420 阅读 · 0 评论 -
一文带你读懂分库分表,分片,Sharding的许多概念
一文带你读懂分库分表,分片,Sharding的许多概念原创 2024-09-28 00:27:28 · 332 阅读 · 0 评论 -
Bee V2.4.0 发布,多表关联操作、Sharding 分片完善、查询结果自定义组装器(同步 Maven)
4.MapSql (MapSuid) 支持使用 Condition 实现更加复杂的 where 条件,updateSet 设值。5. 添加 ConditionExt 支持使用 entity::getName 形式引用属性名。3. 支持 ElasticSearch (7.x) ORM 查询。你还想添加什么功能,请到评论区告诉我们. 扣群 (2. 添加 Calculate 默认日期分片实现。11.pgsql json/jsonb 支持。10. 文件生成添加备份已有文件功能。4. 使用日期的字段作为分片键。原创 2024-09-28 00:16:23 · 382 阅读 · 0 评论 -
python如何防止SQL注入攻击?
python如何防止SQL注入攻击?在您提供的 ORM 示例中,我们已经有了防止 SQL 注入的基本保障,因为我们使用了参数化查询。但是,为了进一步增强代码的清晰性和安全性,我们可以确保在分页查询和插入等操作中都使用参数化查询,同时加入类型验证以防止意外输入。原创 2024-08-14 00:08:09 · 265 阅读 · 1 评论 -
使用python时,数据库有分页,如何实现?
在 Python 中实现数据库分页一般是通过 SQL 查询中的LIMIT和OFFSET子句来实现的。以下是一个示例,展示如何在 ORM 设计中添加分页功能。原创 2024-08-13 23:58:12 · 543 阅读 · 0 评论 -
基于PEP 249 - Python Database API 2.0 Specification,设计一个python的ORM组件
基于PEP 249 - Python Database API 2.0 Specification,设计一个python的ORM组件设计一个简单的 ORM(对象关系映射)组件基于 PEP 249 规范,可以简化数据库操作,使得数据库表与 Python 类之间的映射变得更加直观。原创 2024-08-13 23:57:10 · 344 阅读 · 0 评论 -
Python有类似Java的接口概念吗?
Python 提供了一个模块abc,可以用于创建抽象基类。这些抽象基类可以定义一个接口,要求子类实现特定的方法。pass虽然 Python 中没有严格的接口概念,但通过抽象基类、鸭子类型和协议等机制,可以实现类似的功能。这使得 Python 在灵活性和可扩展性上具有优势。原创 2024-08-13 23:43:49 · 241 阅读 · 0 评论 -
Python有类似Java的接口概念吗?
Python 是一种动态类型语言,通常使用鸭子类型(duck typing)来实现接口的概念。这意味着,只要一个对象实现了所需的方法,就可以被视为实现了该接口。在 Python 3.8 及以后,可以使用 `typing` 模块中的 `Protocol` 来定义接口。Python 本身并没有像 Java 那样的接口(Interface)概念,但它有一些类似的功能和机制。虽然 Python 中没有严格的接口概念,但通过抽象基类、鸭子类型和协议等机制,可以实现类似的功能。原创 2024-08-13 23:42:50 · 347 阅读 · 0 评论 -
python官方有提供统一访问数据库的接口规范吗?
是的,Python 官方提供了一个统一的数据库访问接口规范,称为。DB-API 是一个接口标准,定义了 Python 中数据库接口的基本结构和功能,使得不同的数据库模块能够在某种程度上保持一致。原创 2024-08-13 23:40:04 · 444 阅读 · 0 评论 -
ORM Bee,如何使用Oracle的TO_DATE函数?
ORM Bee,如何使用Oracle的TO_DATE函数?select * from ORDERS where total between 20 and 94与select * from ORDERS where total>=20 and total原创 2024-07-11 00:44:22 · 289 阅读 · 0 评论 -
Bee 支持 与 mybatis-plus 混用吗?
Bee 支持 与 mybatis-plus 混用吗?你是在什么场景下要混用呢?mybatis-plus是基于mybatis.而Bee本身就是一个ORM框架了.Hibernate/MyBatis+ plus +Sharding JDBC + Jpa+ Spring data+ GraphQL+ App ORM (Android, 鸿蒙)= Bee。原创 2024-06-02 00:06:20 · 271 阅读 · 0 评论 -
HDFS,HBase,MySQL,Elasticsearch ,MongoDB分别适合存储什么特征的数据?
HDFS(Hadoop Distributed File System)通常用于存储大规模数据,适合存储结构化和非结构化数据,例如文本文件、日志数据、图像和视频等。HBase是基于Hadoop的分布式数据库,适合存储大量非结构化和半结构化的数据,例如日志数据、传感器数据、实时数据等。Elasticsearch是一种开源搜索引擎,适合存储和处理大规模文本数据和日志数据,适合进行全文搜索和复杂查询。MongoDB是一种文档型数据库,适合存储半结构化和非结构化数据,例如JSON格式的文档数据和实时数据。原创 2024-05-25 22:37:57 · 609 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么分别列出MySQL,MariaDB,Oracle,H2,SQLite,PostgreSQL,SQL Server,Access使用DB的行锁和表锁的使用方法的例子?原创 2024-03-08 11:30:56 · 970 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么原创 2024-03-08 11:16:59 · 1088 阅读 · 0 评论 -
MongoDB 查出包含有list的部分项的记录 all/in/and
MongoDB,acl是"admin", "root"时,用以下命令查:但是acl是"admin", "root","其它项";即多于列出那两项时,就查不出来;我想查包含有指定的两项时,就列出;可以多出其它项db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //至少同时包含有这两项的就查出db.UserInfo.find({"acl": {"$in": ["admin", "root"]}}) // 包含有这两项的,都查出;原创 2024-01-27 13:44:47 · 546 阅读 · 0 评论 -
ElasticSearch是数据库吗?如何是,它是属于NOSQL吗
ElasticSearch是一种开源的分布式搜索引擎,它不是传统意义上的数据库,但可以用作数据库的一部分。,具有高可扩展性和灵活的数据模型。因此,可以将ElasticSearch视为NoSQL数据库的一种属性。ElasticSearch属于。原创 2024-01-18 22:28:46 · 1106 阅读 · 0 评论 -
DynamoDB和Cassandra、MongoDB的比较
其实从开发的易用角度来讲,DynamoDB没有Cassandra和MongoDB强大,Cassandra有CQL可以做非常丰富的查询,MongoDB的查询功能也非常强大,而且后两者都提供Shell客户端,并有不少第三方开发的工具可以进行管理与使用。但个人认为,DynamoDB如果提供相应的SDK其实是可以解决这个问题的,就算MongoDB的开放接口相对DynamoDB更加复杂,开发者都是直接使用驱动(相当于SDK)进行开发,于是在开发应用上MongoDB远胜于DynamoDB。原创 2024-01-14 23:18:08 · 707 阅读 · 0 评论 -
如何在一个系统中同时访问异构的多种数据库
要是MySQL还使用了分库分表,那更加不得了,一大堆的组件都要配合着上,一时间整个系统的难度,复杂度就上来了。Bee可以轻松同时使用多个数据库,即使数据库是不同种类也可以.即支持同时使用多种不同类型的数据库.比如在一个系统中,要同时访问MySQL,H2, MsAccess, Mongodb.要是使用Hibernate, MyBatis这些ORM,难度简直不敢想像。如何在一个系统中同时访问异构的多种数据库。但如果用ORM Bee 就会简单多了.原创 2024-01-14 23:17:16 · 456 阅读 · 0 评论 -
Elasticsearch的主要优点,缺点,应用场景
通过Elasticsearch的高性能和实时性,用户可以快速地搜索到所需的商品,并且可以根据不同的条件进行筛选和排序。同时,Elasticsearch的分布式架构可以保证系统的稳定性和可靠性,能够应对高并发的访问请求。易用性:Elasticsearch提供了简单易用的API和丰富的查询语言,使得开发人员可以快速上手并进行复杂的数据分析。硬件要求高:由于Elasticsearch需要处理大量的数据和请求,因此需要较高的硬件配置来保证系统的性能和稳定性。Elasticsearch的主要优点,缺点,应用场景。原创 2024-01-14 23:14:10 · 1829 阅读 · 0 评论 -
Elasticsearch与关系型数据库的概念对比
从ELasticsearch7.x开始,include_type_name=false,表示已经移除了类型type的概念,但在使用过程中,仍需要在RESTful风格的url中,原本表示类型的那一层替换成_doc,至此【_doc】也被当成了是请求url涉及到类型type时的固定部分。从ELasticsearch6.x开始,Elasticsearch 引入了一个参数控制 type 开关:include_type_name=true,表示仍使用类型 type的概念。拓展:类型type的移除。原创 2024-01-14 23:13:21 · 432 阅读 · 0 评论 -
Bee的批量插入与事务使用
这样,在事务中,就不会因事务分多批造成事务不准确;* 所在Bee在2.2时,默认是所有批次的插入操作只提交一次,如插入100条,每批20条,2.2之前是提交了五次commit,在2.2时改为一次commit;* 若想在大批量插入时忽略违反约束的失败操作,使用回2.2之前的模式,可以使用配置:bee.osql.eachBatchCommit=true。在2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制.通过实体创建表和约束。原创 2024-01-03 00:16:08 · 482 阅读 · 0 评论 -
高并发场景DB设计原则,什么叫反范式?数据库反范式设计
反范式(denormalization)是指在数据库设计中,有意地冗余部分数据以提高查询性能的一种技术。这是一种与范式(normalization)相反的设计方法。原创 2024-01-02 00:42:59 · 466 阅读 · 0 评论 -
MongoDB表的主键可以重复?!MongoDB的坑
想减少直接操作MongoDB带来的烦恼, 想 与使用MySQL一样高效地使用MongoDB,但仍要获取MongoDB的性能,有什么好法子呢?碰到一个奇怪的现象, MongoDB的一个表居然有两个一样的_id值!将它们的类型输出才发现,一个类型是ObjectId,一个是String.再次提交时,是会报主键冲突的。那上图,为什么会有两个一样的_id呢?, 让你像使用关系型数据库MySQL一样使用MongoDB。MongoDB表的主键可以重复?原创 2023-12-12 22:25:45 · 801 阅读 · 0 评论 -
可以操作Access的ORM工具,MS Access日期的坑
Access 开发VB的时候用过,但用在Java Web开发的确实不多。如果你要兼容旧系统,它就用到Access,那有什么好的方法?或用什么工具可以提高开发效率呢?如果你想减少直接操作Access带来的烦恼, 想 与使用MySQL一样高效地使用Access,有什么好法子呢?, 让你像使用关系型数据库MySQL一样使用Access。但作为参数,不能过滤成功,则试了三种日期类型都不可以;MS Access日期可以查询返回;原创 2023-12-12 22:24:48 · 436 阅读 · 0 评论 -
Mongodb与MySQL的异同,使用场景,优缺点。。。
总的来说,MongoDB适合于大数据量、高并发、非结构化数据场景,而MySQL适合于强一致性、复杂事务处理、关系型数据场景。选择哪种数据库取决于具体的应用需求和数据特点。MongoDB与MySQL是两种不同类型的数据库管理系统,它们在使用场景、优缺点和内在要求上有很大的不同。原创 2023-12-03 23:23:32 · 2745 阅读 · 0 评论 -
数据库SQL中的三个语句:DROP、TRUNCATE 、DELETE 以上三种的区别? 效率?
与DROP和TRUNCATE不同,DELETE是可逆的,可以使用ROLLBACK语句来撤销删除操作。- TRUNCATE通常比DELETE更高效,因为它不会逐行删除数据,而是直接删除整个表中的数据。- 该操作同样是不可逆的,执行TRUNCATE语句会永久删除表中的所有数据。- 该操作是不可逆的,一旦执行DROP语句,表和其中的数据都将永久删除。- TRUNCATE也用于删除表中的数据,但保留表的结构。- DELETE用于删除表中的数据,但保留表的结构。- DROP用于删除整个表,包括表的结构和数据。原创 2023-12-03 23:15:18 · 941 阅读 · 0 评论 -
数据库派生属性?
通过对已有属性进行数学运算或逻辑运算得到的新属性。在使用派生属性时,需要注意其计算的准确性和效率,避免对数据库性能造成过大的影响。是指在数据库中通过计算、组合或转换已有属性得到的新属性。派生属性不是直接存储在数据库中,而是在需要使用时通过计算或查询得到。:通过对字符串类型的属性进行拼接、截取、替换等操作得到的新属性。通过对日期或时间类型的属性进行计算得到的新属性。例如,可以通过计算出生日期和当前日期之间的差值得到年龄属性。例如,可以通过对订单表中的订单金额进行求和得到总销售额属性。原创 2023-12-03 00:04:16 · 1027 阅读 · 0 评论 -
update users set error_counter=error_counter+1 where username=‘admin‘ ;当error_counter=null时,会更新吗
如果error_counter列的值为NULL,那么error_counter+1的结果也是NULL,所以整个更新语句的结果就是将error_counter列的值更新为NULL。这并不是我们想要的结果。需要注意的是,不同的数据库系统可能有一些细微的语法差异或命名上的变化,所以在具体的数据库中使用这些方法时,可能需要参考该数据库的文档来了解具体的用法和语法。使用IFNULL函数:IFNULL函数在大多数数据库中都是可用的,它接受两个参数,如果第一个参数是NULL,则返回第二个参数,否则返回第一个参数的值。原创 2023-12-02 23:59:39 · 345 阅读 · 0 评论 -
分布式时代,数据库对同表union all及分页的优化
分布式时代,数据库对同表union all及分页的优化。原创 2023-10-24 00:56:34 · 289 阅读 · 0 评论 -
湖仓一体架构的特性
分析和查询:湖仓一体架构提供了数据分析和查询的功能,可以使用各种分析工具和查询语言对数据进行复杂的查询和分析操作,以获取有价值的信息和洞察。数据安全和隐私:湖仓一体架构提供了数据安全和隐私保护的功能,可以对数据进行加密、访问控制和数据脱敏等操作,以确保数据的安全性和隐私性。数据可发现性和共享性:湖仓一体架构提供了数据目录和元数据管理的功能,可以方便地查找和共享数据,提高数据的可发现性和可重用性。数据集成和处理:湖仓一体架构提供了数据集成和处理的功能,可以将不同来源的数据进行整合和转换,以便进行分析和查询。原创 2023-10-19 17:02:04 · 1028 阅读 · 0 评论 -
H2创建表带注释的语法
H2创建表带注释的语法,不能使用类似mysql的语法。原创 2023-10-24 00:51:41 · 796 阅读 · 0 评论 -
从磁盘刷新频率,文件大小,重启性能,数据安全,等五方面对比 RDB 备份和 AOF 备份的区别,并说明项目最终使用 RDB 的原因
从磁盘刷新频率,文件大小,重启性能,数据安全,等五方面对比 RDB 备份和 AOF 备份的区别,并说明项目最终使用 RDB 的原因原创 2023-10-24 00:53:44 · 232 阅读 · 0 评论 -
如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单
此实例也演示了,如何设置inputStream, byte[]到数据库;另外,inputStream是可以设置到mysql的blob字段的。2. 生成Javabean。省略相应的get,set。如何将图片存到数据库。原创 2023-10-05 11:36:06 · 952 阅读 · 0 评论 -
MS Access数据库多数据源JDBC查询
【代码】MS Access数据库多数据源JDBC查询。使用java查询数据路由到数据源可支持类的包名限定,直接指定,分片等原创 2023-01-24 00:12:16 · 1871 阅读 · 0 评论 -
Mongodb Sharding分片查询,带分页功能(ORM Bee)
表示有两个分片ds0,ds1;基本表名是:orders, ds0中有orders0,orders1,orders2;fullNodes: {orders={ds0=[0, 1, 2], ds1=[3, 4, 5]}}本文手把手教你,使用ORM面向对象的方式,进行Mongodb Sharding分片查询。说明:根据条件,会查询到三条数据(分别在三个不同的分片),然后一页只返回2条记录。userid为分片键,需要设置。1、在bee.properties里添加配置。以下为对Orders实体分片的配置,简单易用。原创 2023-01-11 23:41:52 · 461 阅读 · 0 评论 -
Mongodb常用数据类型
Mongodb常用数据类型原创 2022-12-11 21:58:02 · 418 阅读 · 0 评论 -
NoSQL mongodb与标准SQL RDB概念对比
NoSQL mongodb与标准SQL RDB概念对比Mongodb常用数据类型原创 2022-12-11 21:58:11 · 150 阅读 · 0 评论 -
mongodb如何删除集合(表)的所有数据
其实这种做法,是很危险的.试想,要是在生产环境,错误操作,所有用的数据都删了,那可不行.看看一个小巧易用的ORM框架, 十分钟即可入门, 还可以防止误删除.mongodb的语法,比起SQL还是费劲许多.设置不允许删除整个集合(表)的数据,即可.//是将整个集合包含结构删除.但filter不能为null.注: 返回-1, 表示有异常。原创 2022-12-11 21:44:29 · 4287 阅读 · 0 评论 -
mongodb与java驱动版本之间的支持关系
mongodb与java驱动版本之间的支持关系原创 2022-11-24 23:56:06 · 2659 阅读 · 0 评论 -
使用JDBC访问微软Access数据库实例
更快、更简单、更自动,开发速度快,运行快,更智能!// access由于access并不是作为一项服务运行,所以url的方法对他不适用。使用JDBC,需要自己写sql语句, 自己写获取字段结果的代码, 这种代码可以交给ORM去完成.// 实际上,是可以使用 纯JDBC驱动访问access的。是否可以使用JDBC访问, 网上的说法不一, 也很少有实例参考.之前有使用ODBC来访问Access的,但不方便.以下是使用ORM Bee查询的结果.有需要的伙伴可到Q群里问.原创 2022-11-04 23:53:17 · 1182 阅读 · 0 评论