Why Apache IoTDB Is Written in Java: A Decade of Engineering Trade-offs
Since I started working on the development of the time-series database Apache IoTDB in 2016, I've been asked the same question again and again: Why did you choose Java to build a database? Can Java...

Source: DEV Community
Since I started working on the development of the time-series database Apache IoTDB in 2016, I've been asked the same question again and again: Why did you choose Java to build a database? Can Java really be used to write a database system? In the early days, my standard answer was usually this: When IoTDB was initiated in 2011, almost all influential distributed systems and databases were built in Java or on the JVM—such as Hadoop, HBase, Spark (Scala on JVM), Cassandra, Kafka, and Flink. To integrate deeply with the big data ecosystem, choosing Java was a natural decision. That explanation is valid—but clearly insufficient. What people really want to know is: If you learn Java, do you actually have a chance to build a database? Can Java be used to build a good database? What does choosing Java really mean for a system like IoTDB? ... These questions cannot be answered by theory alone. The relationship between programming languages and databases is not a matter of ideology—it is a pra