降低关系型数据库的逻辑复杂
关系型数据库通过键,构造数据与数据之间的关系,间接关系过多导致逻辑复杂。
今天我在设计舆情监控系统时就遇到了这种情况,为了数据输出灵活性,数据库以客户、关键词为中心进行设计。
但是为了提高集群负载,在数据爬取上又设计为分布式,既爬虫子网对一个数据库,数据库子网对一个监控系统,这样爬虫端的每个任务都要从多张表中挖掘需要的信息,想了一下午,终于想到了一个简单、灵活、执行效率高的方式——在内存建一个DataTable保存要执行的任务。
每条任务周期都用复杂的逻辑推断要做什么,通过什么渠道去做,很难实现多线程并发。
如果把需要的信息统一挖掘、统一存储在这一张内存表中,在使用之前就滤清了复杂的逻辑,像是一排子弹装在机枪上,随时准备使用。
统一挖掘只需访问一次数据库,读取全部预计用到的数据,再从内存中进行逻辑筛选,最后把内存中不需要的冗余数据Clear,最大限度地减少了数据库访问次数,再加上是内存表,所以存取速度快,还可以通过剩余任务数量判断循环周期。
转载于:https://www.cnblogs.com/hack/archive/2010/04/02/1702938.html
降低关系型数据库的逻辑复杂相关推荐
- mysql 应用前景_图数据库在企业应用中前景如何,相比关系型数据库有哪些优势?...
图数据虽然在国内的应用还不是非常广泛,但发展前景还是很可观的. 跟以Oracle为代表的传统关系型数据相比,图的逻辑可以很好的解决绝大多数底层数据分析问题, 图数据的数据逻辑维度要远高于关系型数据,所 ...
- 全面梳理关系型数据库和 NoSQL 的使用情景
今天我将对常见关系型数据库以及NoSQL的使用场景做一个详细的分析和比较.希望对大家以后的数据库选型有所帮助. 目录 数据库场景比较 MySQL还是PostgreSQL? MongoDB 键值(Key ...
- Amazon Aurora是如何设计原生云关系型数据库的?
关系型数据库已经存在很长时间了.数据的关系模型是E.F. Codd在20世纪70年代提出的,而支撑当今主要关系型数据库管理系统的核心技术是在1980到1990年代开发的.关系型数据库的基础,包括数据关 ...
- 阿里云新一代关系型数据库 PolarDB 剖析
本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念.并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产 ...
- 《图数据库(第2版)》——2.1 关系型数据库缺少联系
本节书摘来自异步社区出版社<图数据库(第2版)>一书中的第2章,第2.1节,作者:[美]Ian Robinson(伊恩•罗宾逊) , Jim Webber(吉姆•韦伯) , Emil Ei ...
- mySQL(关系型数据库管理系统)编辑
收藏 2906 1034 mySQL(关系型数据库管理系统)编辑 MySQL[1] 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是最流行的关系型数据 ...
- 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...
- 开源关系型数据库架构
前言 我们把主要的开源关系型数据库分为三类,来分别了解一下它们的架构和设计,并了解一下它们各自的优缺点. OLTP,在线事务处理,是传统的关系型数据库的主要应用场景 OLAP,在线分析处理,是当今大数 ...
- 关系型数据库的瓶颈 与 优化
1. 数据库的分类 数据库大致可以分为两部分: 传统的关系型数据库, 如: MySQL, Oracle, SQLServer 以及 PostgreSQL; MySQL 是国内使用最广泛的数据库, Or ...
最新文章
- Struts2之ModelDriven
- 如何将hive与mysql连接_hive连接mysql配置
- powerpoint文字教程
- windows环境的python的环境变量_win的环境变量配置(Python实例)
- 火爆全网MySQL路线笔记!linuxmysql允许远程连接
- getAttribute、setAttribute、removeAttribute
- ios字典存bool_iOS 开发之字典写入文件
- 结对编程项目总结(王开207, 唐彬170)
- 进入Vmware虚机的BIOS
- WS2812B全彩LED驱动
- 红外接收电路自己制作,我用过的
- 图文解析大二层网络及VxLAN技术
- GlassFish安装
- HashMap扩容机制源码分析
- GitHub Desktop安装与使用教程
- 波兰式与逆波兰式的转换和表达式求值
- DAO开发实战业务分析
- 安道拓Adient EDI 830物料需求预测报文详解
- 家用小型监控器安装位置与功能
- Kubernetes滚动更新(无中断平滑发布)
热门文章
- Sphinx index.rst
- hadoopstreaming
- 淮海工学院期末考试Oracle,【2017年整理】淮海工学院物理化学下册期末试题.doc...
- mysql表空间转移_mysql共享表空间扩容,收缩,迁移
- Java基础学习总结(106)——高级JAVA工程师必需技能
- golang mysql单例模式_Golang设计模式——单例模式
- php为什么凉了_马蜂窝裁php换java,php又又又凉凉了吗
- python数据库操作封装_Python 封装一个操作mysql的类
- linux文件系统管理实践题目,Linux软件管理、文件系统管理实践
- typecho支持html,[分享] Basic HTML - 一款极简的Typecho主题