背景
kettle 拥有很多自带的组件,能帮我们实现很多的功能。
但是我们总有一些很复(qi)杂(pa)的需求,用自带的组件实现不了,或者说实现起来很复杂。那么这时我们就要用到万能的组件了( Java 代码),通过自己写代码来实现任何想要的功能。
转载自 https://blog.csdn.net/xlgen157387/article/details/79036337
我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!
注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!
我们先来回忆下什么是事务。
考虑一种场景。银行转账,甲转 100 给乙,分为两步:
如果甲的钱扣了,乙的钱没有增加,那么数据就会不一致,这时候就要用到事务。因为事务的一个特性,就是原子性:要么不做,要么全做。
kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。
kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855,github 地址是 https://github.com/pentaho/pentaho-kettle。
这边以 windows 下的配置为例,linux 下配置类似。
转载自 https://segmentfault.com/a/1190000015738121
只有光头才能变强
索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。
本文力求简单讲清每个知识点,希望大家看完能有所收获
声明:如果没有说明具体的数据库和存储引擎,默认指的是MySQL中的InnoDB存储引擎