业务应用场景

简介: 传统关系型数据库(如MySQL)难以满足“三高”需求:高并发读写、海量数据高效存取,以及高可扩展性与高可用性,尤其在Web2.0时代面临性能与扩展瓶颈。

传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。“三高”需求:
● High performance - 对数据库高并发读写的需求。
● Huge Storage - 对海量数据的高效率存储和访问的需求。
● High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求。

相关文章
|
2月前
|
XML Java 数据库连接
引入MybatisPlus的起步依赖
MyBatisPlus官方提供了一站式Starter,集成MyBatis与MyBatisPlus全部功能,支持自动装配,可直接替代原生MyBatis依赖。引入`mybatis-plus-boot-starter`后,无需额外配置,简化开发流程,原MyBatis依赖可移除,提升效率。
定义UserDAO
UserDao 是一个用户数据访问组件,提供根据ID查找用户的方法。当ID大于10时返回null,否则返回对应用户对象,用于模拟简单用户查询逻辑。
|
2月前
|
存储
初始化Map大小并非用多少指定多少
初始化HashMap时,指定容量并非直接生效,而是会调整为最近的2的幂次(如1变2、3变4)。为避免扩容开销,建议使用Guava的Maps.newHashMapWithExpectedSize(),或手动按公式:容量 = 预期元素数 / 0.75 + 1 进行设置,提升性能。
|
2月前
|
缓存 安全 Java
线程池初始化严禁使用Executors
阿里巴巴规范禁止使用Executors创建线程池,因其默认队列无界(如LinkedBlockingQueue)或线程数过多,易导致OOM。推荐使用ThreadPoolExecutor自定义参数,或结合Guava工具设置有界队列、合理线程数及拒绝策略,避免内存溢出并提升可维护性。
|
2月前
|
Java
Arrays.asList之后不要调用修改操作
`Arrays.asList()`返回的列表不可直接增删元素,因其底层为固定大小的内部类,调用`add/remove`会抛出`UnsupportedOperationException`;且列表与原数组共享数据,修改数组内容会影响列表。
使用 entrySet 遍历 Map 类集合 KV
遍历Map时,keySet需两次遍历,效率较低;entrySet一次遍历即可获取键值对,性能更优。JDK8推荐使用Map.forEach方法。values()返回V值List,keySet()返回K值Set,entrySet()返回K-V组合Set。
|
2月前
|
安全 API
SimpleDateFormat不要定义为static
SimpleDateFormat线程不安全,避免定义为static,若需静态使用应加锁或采用ThreadLocal。推荐JDK8新时间API:Instant、LocalDateTime、DateTimeFormatter,具有线程安全、简洁、不变性等优点。
|
2月前
|
XML Java 数据格式
@Configuration
被 @Configuration 标注的类视为Spring配置类,等同于XML配置文件。通过 @Bean 注册Bean,配合 AnnotationConfigApplicationContext 可启动IOC容器,加载配置类及其中的Bean实例。
什么是业务
业务是个人或企业为盈利而开展的有组织商业活动,如生产、销售商品或提供服务。以医院为例,其业务是向患者提供医疗服务,通过多阶段交易实现价值交换,患者付费获得健康,医院则实现服务价值。
架构域的分类
业务架构是四大架构的核心基础。需先深入理解业务,构建业务架构,再据此设计技术架构,进而确定数据架构与应用架构,确保各架构协同一致,支撑系统整体规划与落地。