可扩展数据架构浅析

51单片机项目避坑指南:超声波倒车报警系统里,EEPROM数据保存和蜂鸣器PWM调频那些事儿 本文深入探讨51单片机在超声波倒车报警系统中的关键技术与常见问题,重点解析EEPROM数据持久化与蜂鸣器PWM调频的进阶技巧。通过AT24C02存储芯片的时序优化、数据校验机制,以及定时器PWM模式的精细控制,实现专业级的报警效果和可靠数据存储。文章还提供系统级优化方案,包括电源管理、抗干扰设计和性能测试方法,为超声波测距系统的产品化开发提供实用指导。 阅读详情

上篇讲了一点用mysql架构saas数据库的观点,主要是节点向外扩展的思路,这篇再叨叨一下,主要是针对数据库存储再加以说明,现在大多数解决方案还是停留在类似阿里的解决方案上,弱化企业的逻辑流程,saas现在还是停留在共性化很强的中小企业应用上,我想saas再发展,她会慢慢的过渡到相对比较复杂的企业应用。所以做系统有一点就非常的重要,可扩展性,这个词在做并行计算系统和分布式系统的时候,是最重要的衡量参数。
   可扩展不只是tenant可扩展,还要有其他可扩展,这里有这样几个概念:
   第一:界面可扩展;
   这个很容易理解,用户菜单可以定义,这个一般是程序实现和数据库的关系不是很大,如果按照面向界面编程的思路进行下去的话,这个非常简单,在面向界面编程的时候再说明清楚。
   第二:功能可扩展;
   这个主要是soa的思想和跨界迁移,理解起来也不是很复杂,核心是uddi。
   第三:数据表结构可扩展;
   数据表结构可扩展,很多人认为就自定义字段,这个只是表段扩展的初级阶,为什么呢?因为一个信息的属性到底有多少,开发人员是不可预测的,动态改变数据表结构是一作个非常危险的动,现在很多架构师提出来应该是独享表结构而共享数据库,但是你可以想象,举例:一个租户的两个用户,a用户insert数据,b 用户在alter表结构,这是一个高风险度的操作。所以建议不要这样做,而是采用视图进行行列装换的策略,这个应用最好的算是facebook,给每个被扩展的数据表,建立扩展数据表,表结构如果下:
被扩展数据表A

 primaryid name
 1 测试1

这个数据表很容易理解,就是信息的基础数据表,比如name。
数据表A的扩展记录表
A_extend

 primaryidfield
 type length descript ......
 1 number int 10 数量 
 2 addtime date  上架时间 

这个数据表和基础数据表应该是一一对应的关系,记录扩展信息,简单的应用就是上边的这种,复杂的应用比如产品可能根据不同的分类所扩展的还有所不一样,这个数据表中就可以进行处理。
数据表A的扩展数据表
A_extend_data

 Aid field int varchar date ......
 1 number 1234   
 1 addtime   17:49:22 

这个数据表是该思路的核心,列是field和数据类型的集合,一条扩展信息,根据属性划分成多行,这样避免数据表结构的更改,但是又有一个新的问题就是在这些扩展属性上进行检索的时候就非常困难,下边的视图解决这个问题。这里还有一个问题就是:为什么不设计成一个混合类型的字段,那样不是更加简单吗?还要按照类型进行分开存储,实际上每行只有一个存储有效单元,其他都是null,这个主要是为了提供更多的检索条件,因为数字123和字符123存储显然不一样的,数字123可以用>比较符,而字符123则是无意义的。同理在该表上建立的视图也就有清晰的类型,和应用系统中的类型相匹配,而不在需要转换。当然你的应用系统如果是php这样的弱类型语言,那就多余了。
在A_extend_data创建视图A_extend_data_view

 primaryid number addtime
 1 1234 17:49:22
 2 2342 17:49:25

视图,这个就很清晰了,检索的时候也很方便,和一般的数据表检索是没有什么两样,在创建视图的时候,用一个存储过程,进行行列转换。
就大概说下,有兴趣的可以再进一步交流。

浅析架构设计——架构之道学习笔记 什么是架构 1、架构是将【组织】按照一定的【结构】进行组织【连接】起来 2、组件:软件差分后的物理形态,它可是子系统、模块、应用服务或者是一个类。 3、结构:是架构之后的轮廓,是组件组织后产出物。不同的软件系统会有不同的结构,这些结构是为了解决不同应用场景而设计。 4、链接:把差分的组件有机组装出来,链接关系可以是JVM内部调用, 架构设计的原则: 1、合适原则: a、匹配业务发展所处的当前阶段 b、充分结合业务实际的应用场景 c、考虑业务近1年到2年的发展规模 2、简单原则:大道. 阅读详情

相关推荐

SkyWalking跨线程Trace传递实战:手把手教你用RunnableWrapper解决异步链路中断问题

本文深入解析了SkyWalking在异步编程场景下链路追踪中断的根源,并提供了使用RunnableWrapper等官方包装类的实战解决方案。通过详细的原理解析和代码示例,手把手指导开发者如何实现跨线程的Trace传递,确保分布式系统监控链路的完整性,有效解决异步任务导致的链路中断问题。

sand8的博客 493

23 可扩展的数据结构

传统的关系数据库为了保证关系运算(通过SQL语句)的正确性,在设计数据库表 结构的时候,就需要指定表的schema——字段名称,数据类型等,并要遵循特定的设计 范式。这些规范带来的一个问题就是僵硬的数据结构难以面对需求变更带来的挑战,有 些应用系统设计者通过预先设计一些冗余字段来应对,不过显然这是一种糟糕的数据库 设计。 那么有没有办法能够做到可扩展的数据结构设计呢?无需修改表结构就可以新增字 段呢?许多NoSQL数据库使用的ColumnFamily (列族)设计就是一个解决方案。 ColumnFamily

water Wang 3940

n8n 快速入门1:构建一个简单的工作流

n8n 快速入门指南

engchina的专栏 1万+

[架构师之路] 高可扩展表结构系列

http://chuansong.me/n/1298388046739 啥,又要为表增加一列属性? 2016-12-14 http://chuansong.me/n/1311070246933 这才是真正的表扩展方案 2016-12-15 http://chuansong.me/n/1496202646316 100亿数据1万属性数据架构设计 2017-01-18 完整展示了通过 Ext 字段进行无限扩展的方案和实现原理,同时也详解了58同城相关的三大核心组件。

qijiqiguai的专栏 1万+

基于ROS2系统开发机器人

以上是基于ROS 2开发机器人的基本流程和一个简单的发布者-订阅者示例。通过这个流程,你可以逐步扩展和优化你的机器人系统,实现更复杂的功能。

xuweilin的博客 1494

【抖音滑动验证码风控分析】

文章摘要:通过对比正常响应与验证码风控响应的头部信息,发现两者存在显著差异。正常响应返回JSON格式数据(Content-Type: application/json)并采用分块传输(Transfer-Encoding: chunked),而风控响应仅返回空文本(Content-Type: text/plain,Content-Length: 0),并通过X-Vc-Bdturing-Parameters等特殊头字段传递风控信息。这些差异主要体现在内容类型、数据传输方式和风控标识参数上,为风控识别提供了关键特

qq_44990881的博客 1099

数据库扩展性架构设计

前篇:《无限容量数据库架构设计》《MQ消息可达性+幂等性+延时性架构设计》《高可用+高并发+负载均衡架构设计》都收到网友好评:系统性,全局性看问题体会更深刻简单易懂本文再...

shenjian58的博客 769

DB2__基本概念——联邦

建立联邦 优点:优点是数据仍然保留在原来的存储位置,而不必建立一个集中的式数据仓储。  缺点:数据联邦查询反映会慢,不适合频繁查询,而且容易出现锁争用和资源冲突等问题 建立联邦表步骤 前提条件:知道两个数据库的ip,用户名,密码及被连数据库的版本 eg:  数据库  qqdb  ip: 22.5.225.225   端口:50000    密码:123456        数据库   ...

qq_38569524的博客 1255

可扩展的分布式数据库架构

可扩展的分布式数据库架构

lengyuhong的专栏 1412

x265开源编码器源码框架深度解析

x265开源编码器源码框架深度解析

世界那么大,我想去看看~【随心更新,看世界去了😄】 668

使用Simulink进行四足机器人的非线性动力学建模与仿真

四足机器人的运动包含多个自由度(DOF),包括腿部的摆动和支撑阶段的动力学特性。由于存在接触力、摩擦以及不同地形的影响,四足机器人的动力学行为呈现出高度的非线性特征。因此,构建准确的非线性动力学模型对于研究机器人的运动学和动力学特性至关重要。定义代表机器人状态的变量,如位置、速度、角度和角速度。matlab深色版本通过本指南,我们介绍了如何基于Simulink搭建一个四足机器人的非线性动力学模型,并进行了详细分析。

xiaoheshang_123的博客 311

可扩展数据架构浅析--还需要理解

可扩展不只是tenant可扩展,还要有其他可扩展,这里有这样几个概念: 第一:界面可扩展; 这个很容易理解,用户菜单可以定义,这个一般是程序实现和数据库的关系不是很大,如果按照面向界面编程的思路进行下去的话,这个非常简单,在...

cisiruan3500的博客 250

数字电路与逻辑设计实验二 组合逻辑电路

1.组合逻辑电路功能测试 (1)用 2 片 74LS00 组成图 2.1 所示逻辑电路。为便于接线和检查,在图中要注明 芯片编号及各引脚对应的编号。 (2)图中 A、B、C 接逻辑开关,Y1,Y2 接发光管电平显示。 (3)按表 2.3 要求,改变 A、B、C 输入的状态,填表并写出 Y1,Y2 的逻辑表达式。 (4)将运算结果与实验结果进行比较。 2.测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。 根据半加器的逻辑表达式可知,半加 器 Y 是 A、B 的异或,而进位 Z 是 A

欢迎交流学习心得 1277

浅析中国大数据技术与市场趋势

原标题:中国大数据市场对存储的需求 中桥国际调研咨询(以下或简称“中桥”)近日为戴尔完成的大数据对存储需求的调研报告简要介绍了中国大数据技术和市场的趋势,并结合5个典型大数据应用场景,浅析了存储,特别是戴尔流动数据架构,如何满足企业在大数据通过IT创造价值的过程中的需求。 大数据创造业务价值 有效利用大数据,不仅可以实时监控各种潜在风险,提高生产效率,更重

u014741335的专栏 817

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

浅析专网通信领域的前端架构设计

专网通信领域的前端架构设计

we452366的博客 502

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

浅析数仓分层:DB+ODS+DW+DM

本期将从结构层面了解数据仓库分层的几个名词和简单理解。 文章目录1 理想的数据分层总体结构2 DB层:关系型数据库和非关系型数据库2.1 关系型数据库RDB2.2 非关系型数据库NoSQL3 ODS层:操作数据存储层3.1 ODS产生背景3.2 ODS在企业数据架构中担任的角色3.3 ODS层的特征3.4 ODS层的功能4 DW层:数据仓库 1 理想的数据分层总体结构 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFfRleTt-1607275403838)(C:%5C.

q1042960848的博客 3349

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

机器学习系统架构的10个要素

这是一个AI赋能的时代,而机器学习则是实现AI的一种重要技术手段。那么,是否存在一个通用的通用的机器学习系统架构呢?在老码农的认知范围内,Anything is nothing,对系统架构而言尤其如此。但是,如果适用于大多数机器学习驱动的系统或用例,构建一个可扩展的、可靠的机器学习系统架构还是可能的。从机器学习生命周期的角度来看,这个所谓的通用架构涵盖了关键的机器学习阶段,从开发机器学习模型,到部...

我相信...... 1541

大数据领域数据建模:促进数据共享与流通的桥梁

随着企业数字化转型的深入,数据孤岛问题导致的"数据难以共享、业务难以协同"成为制约数据价值释放的核心瓶颈。据Gartner调研显示,73%的企业数据处于未被充分利用的"暗数据"状态。本文聚焦大数据领域数据建模技术,系统阐述如何通过科学的数据建模方法,构建跨系统、跨领域的数据共享基础设施,实现数据从"资源"到"资产"的质变。研究范围涵盖数据建模基础理论、核心技术方法、行业应用实践及工具生态,适用于数据架构师、数据治理专员、企业CIO等技术与管理岗位。

专注搜索引擎技术 707

(课程设计)django赛事积分管理系统-计算机毕设 附源码43709

普通用户功能: 首页:展示最新赛事信息、新闻动态及重要通知,为用户提供一站式的信息获取平台。 通知公告:发布并展示系统的重要通知和公告事项,确保用户及时了解最新消息。 新闻资讯:提供丰富的行业新闻和赛事相关信息,帮助用户掌握第一手资讯。 赛事信息:列出所有可参与的赛事详情,包括时间、地点和项目介绍,方便用户报名参赛。 排名信息:显示各类赛事的最新排名情况,允许用户查看详细排名并进行互动。 我的账户:支持用户编辑个人信息、查看账户状态,确保个人资料的准确与安全。 个人中心:集中管理用户的报名记录、赛事结果、获

ID3461074420的博客 235

构建可扩展的表结构

围绕PRODUCT表构建可扩展的表结构

observething的专栏 325

可扩展的用户表设计

用户表结构的设计,算是整个应用架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少,甚至有些情况下无从下手,因此我们应该怎么设计用户表呢? 需求分析# 多种登录方式:包括手机号、微信、QQ、微博等; 可进行绑定和解绑或者更换绑定:用户使用任意方式登录后可绑定和解绑或者更换绑定其他 登录授权; 支持 unionid(针对 QQ / 微信等):如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的 unionid 来区分用户的唯一性,

follow your heart 4862

数据库字段动态扩展设计

最近讨论数据库有关产品方案的项目自动扩展问题,即每个方案都有多个项目,而每个方案的项目或多或少,也有不一样的,方案以后也坑能随之增加新的项目。因此需要数据库设计一套可扩展的方案。

3万+

MySQL性能调优与架构设计——第 14 章 可扩展性设计之数据切分

第 14 章 可扩展性设计之数据切分 前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈。这时候,我们就必须许找其他技术手段来解决这个瓶颈,那就是我们这一章所要介绍恶的数据切分技术。 14.1 何谓数据切分 可能很多读者朋友在网上或者杂志上面都已经多次见到关...

weixin_30522183的博客 189
上一篇: Web前端-HTTP Cache-control
下一篇: Microsoft Operations Manager 2005 使用心得
netbug2009
博客等级 码龄17年 21粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值