自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java数据库中台项目,电商,CMS轻松实现,包含数据库源文件

Java中台项目,Web开发也能面向对象编程,拒绝面条代码。目前已经有47个表,数据库源文件 DB-Design.mwb ,使用 MySQL Workbench 打开包含的数据库表有用户体系,权限控制体系,店铺,商品,订单,消息通知体系,异步任务等等,持续更新中…系统文档源文件 System-Design.mm

2020-07-18 19:11:07 1325

原创 简单3步快速生成千万级别mysql测试数据库,模拟电商数据

听说mysql数据量达到5000万的以后,性能就急剧下降,干了这么久开发,还没看见过这么大的数据量,并且还是需要有关联关系的,因为要测试SQL JOIN ,今天就发现有这样一个叫做mysql-tester的工具,可以生成模拟电商的数据库,大数据量,具有关联关系!而且只需要三步就可以生成数据了!

2019-03-11 09:17:43 6019 6

原创 数据库中树形结构表的统一管理,ID-ParentID模式的表的管理

在数据库设计中,通常使用ID-ParentID这样的模式表示上下级关系,最常见的就是category表的设计,这类表都具有树形结构,如何统一的管理这类表的树形结构,如何统一的为前端返回可方便展示成树形结构的Json呢?

2020-11-09 23:00:49 2036

原创 电商系统,消息通知模块数据库设计,包含数据库源文件

定义通知以notification_definition开头的数据库表,用于定义通知。这个就好像是Java中的Class,实例(Object)通过Class生成;同样的,我们先定义通知的内容,发送方式,使用的模板,接收人等等信息,然后根据定义产生具体的通知。基本信息不管是定义还是根据定义产生的实际通知,他们都共享一些基础信息。notification_template,通知模板表notification_category,分类表notification_post_method,有些通知是需要实

2020-09-05 17:05:05 1491

原创 电商系统,商品属性表和功能设计,可用于各种实体的属性

简介定义一种通用的属性体系,可以表示任何实体的属性,同时也像数据库列一样,可以为属性指定数据类型.在电商系统中,每个商品都有多个属性,并且这些属性不能提前设定,它们以无模式的key/value形式存在,我们可以简单的只保存key/value,也可以把这种需求抽象成更通用,功能更强大的属性体系,这样就可以适用更多的场景.数据库property_key: 属性keyproperty_key_definition:属性key定义,就好像MySQL column definitionpr

2020-09-05 16:49:22 2620

原创 定义接口后,如何让多个实现类使用统一的数据校验等逻辑

对于数据库的增删改操作,为了维护数据模型的完整性,我们定义了接口,然后统一操作数据。实现类可以选择不同的数据库,比如选择MySQL或者MongoDB等等,同时,不同实现类还可以选择不同的ORM框架,比如如果选择了MySQL存储数据,则可以选择jooq,mybatis等等ORM框架。对于不同的实现类,有很多操作是相同的,比如参数校验,缓存的设置,更新等等,这些操作不会因为选择了不同的数据库或者选择了不同的ORM框架而不一样,因此,为每个接口设计一个抽象类,在这个抽象类中完成这些相同的操作,然后把保存数据

2020-06-04 19:37:47 340

原创 数据库中ID/ParentID模式的数据如何快速生成树形结构

在数据库设计中,通常使用ID/PID这样的模式表示上下级关系,最常见的就是category表的设计,比如CREATE TABLE IF NOT EXISTS `item`.`item_category` ( `item_category_id` BIGINT UNSIGNED NOT NULL, `store_id` BIGINT UNSIGNED NOT NULL COMMENT '所属店铺ID', `category_name` VARCHAR(45) NOT NULL COMMENT '

2020-05-27 22:16:52 1439

原创 如何设计抽象的权限体系?超脱user-role模型

通常我们看到的权限体系都是 用户-角色 模式,这样太局限了,如果还有其他权限控制需求了,比如微服务之间是否有权限访问,因此,设计一种【抽象】的权限控制体系才能因对各种业务需求,这里我们就定义一种重新的权限体系,具体请查看数据库设计中关于权限体系的设计术语permission一个比较好的理解方式:一个subject(比如user)对于target(比如文件)有某些action(比如read)权限subjectA subject may be any entity, such as a per

2020-05-26 21:38:03 351

原创 一键自动生成千万级MySQL电商数据,7个表,有关联关系

简介- 生成测试数据,总共有7个表,它们是- - user,用户表- - individual_user_general,个人用户基本信息- - store,店铺表- - store_general,店铺基本信息- - item,物品(商品)表- - item_general,物品基本信息- - item_description,物品描述信息- 数据库ER图- 生成的数据规模是可配置的,比如指定生成100万用户,5000万商品;并且**数据之间有关联关系**,因此可以测试sql j

2020-05-10 21:18:14 745

原创 mysql生成测试数据库,除了sysbench,还有哪些的工具?

作为一名开发人员,生成大量数据,以便测试数据库的性能情况是非常必要的。而且这些数据最好是有关联关系的,这样才符合实际情况,下面介绍几种有用的工具。sysbench, sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库(OLTP基准测试),但是它只能生成单表,即使生成多个表,它们之间也是没有关联关系的,SQL JOIN等操作就没法测试了。Employees Sample D...

2019-03-12 17:21:31 607

原创 Twitter Snowflake算法实现

在微服务满天飞的时代,一些基础实施必须先完善,ID生成器就是其中一个。很多人都使用UUID作为主键,但是,按照数据库索引的结构,以及数据库保存记录的方式,UUID这种方式性能极差,自增的数字类型才是解决之道。Twitter Snowflake算法就可以很好的满足,一图胜过千言此算法不难理解,难的是二进制按位操作和移位操作,只要理解了这两种位操作,这个算法就完全不是问题了github地址:https...

2018-05-03 17:42:47 221

原创 java 8 stream jdbc

使用 java 8 stream API 方式处理jdbc query,在数据迁移时,如果需要全表读取数据,当数据量较大时,不可能一次性全部读取,同时如果使用分页的方式,随着分页越深,性能越差,因此可以尝试使用流式API来处理此类业务。github地址:https://github.com/wuda0112/common-utils/blob/master/src/main/java/com/wu...

2018-05-03 17:28:20 1041

原创 double-array trie java 实现

做过分词或者文本分析的应该都知道double-array trie,基于《An Efficient Implementation of Trie Structures》实现,本来想完整的翻译成中文,但是翻译一段以后发现效果不好,英文翻译水平和中文表达能力有有待提高啊。github地址:https://github.com/wuda0112/common-utils/blob/master/src/...

2018-05-03 17:20:43 510

原创 SpringBoot微服务架构,可以同时按照RESTful,MVC,RPC方式运行

github地址:https://github.com/wuda0112/project-structure-archetypequick start 下载[project-common](https://github.com/wuda0112/project-common)项目git clone https://github.com/wuda0112/project-common...

2018-05-03 17:05:04 6161 1

原创 Lucene索引在文件和内存中的数据结构

Lucene索引文件结构:Lucene的索引由多个不同后缀格式的文件组成,本文准确来说应该是lucene索引倒排表的文件结构,具体的组织形式如下:field fieldName  --域的名称term termName --term的名称,也就是分出的词doc docId --文档id,在指定域下,出现指定term(分词)的文档的idFreq count --term在文档中出

2014-07-14 22:42:03 5456

原创 Hadoop入门概述-概念及WordCount实例详解

我希望尽可能的以最白话的方式来jie'shao

2014-06-18 11:16:06 710

原创 lucene读取索引文件到内存-源码解析

1.抛出问题:2.环境说明lucene索引保存在倒排表文件中,那么lucene是如何将这些索引数据读取到内存中的呢?首先需要说明下我的源码环境:我用的是lucene4,然后codec用的是SimpleTextCodec,这个codec的作用是格式化索引,把“黑箱”的索引格式转化成我们可以看得懂的格式,比如,用了SimpleTextCodec以后,我的倒排表文件的后缀是".pst",然后

2014-03-17 16:33:35 2761 1

原创 java抓取、java网络爬虫实例项目jnc

java抓取、java网络爬虫实例项目jnc源码托管在:http://code.taobao.org/p/jnc/src/trunk/用svn客户端下载下来即可,直接运行test包下的Crawl.java就可以快速启动测试测试:直接运行test包下的Crawl.javaUrlBean host = UrlUtil.getUrlBean("http://www

2014-01-10 11:49:01 1583

原创 lucene搜索过程详解

这篇文章的查询以最简单的TermQuery为例,从searcher.search()方法为入口:1.为各个查询的term计算权重。createNormalizedWeight(Query query);具体是在new TermWeight()完成权重计算2.loadTerms()方法用于从索引文件中加载terms到内存,并且缓存。比如我这里用的codec是SimpleTextCod

2013-12-04 10:12:07 1256

原创 GTAnalyzer-lucene中文分词

此分词算法主要来源于:http://xiecc.blog.163.com/blog/static/14032200671110224190/jar包下载(不推荐,因为csdn的资源都不能更新,删除,所以这个可能是旧的,只是google svn有时候不能访问,现在迁移到淘宝svn上了(很方便了),所以在这里才搞了个jar包下载)地址:http://download.csdn.net/d

2013-12-02 16:56:23 1071

JDK_API_1_6_zh_CN

实现领域驱动设计,实现领域驱动设计,实现领域驱动设计,实现领域驱动设计

2018-02-06

DIV+CSS帮助文档

非常好用的css中文帮助文档!非常好用的css中文帮助文档

2010-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除