
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 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
Continue reading on Dev.to
Opens in a new tab



