I recently had the pleasure of watching the Tencent Cloud community release theThe Past and Present Life of China's DatabaseThe documentary was very inspiring. The documentary made me reflect deeply and triggered the urge to create a documentary about domestic databases. In the future, I plan to express my inner thoughts by editing some videos and share all the video links.
Of course, after watching that documentary, I was deeply shocked. Thinking back, although my contact with database is not long, this experience is somewhat similar to the process of learning Java programming language, both of which are spent in persistent learning and exploration. Through a long period of writing technical articles, I have accumulated a wealth of experience, and today I intend to switch a style, write a narrative article, share my growth and intersection with the database. If you are interested, just listen to my narrative. Thanks for your support and interest!
(Video links will be included in the comments section, so stay tuned for continued updates!)
First experience with databases in my college years
The confusion and exploration of the first acquaintance with SQL Server
Today to nag me and the database of the story, the story has to start from the university, the university period, my first encounter with the database, you can use the word "confused" to describe.
At that time, I knew nothing about SQL Server, but only knew to follow the teacher's pace, step by step into the world of database. In the classroom, PPT and books were all we had, boring and monotonous, and the occasional hands-on opportunities were limited to installing the database environment and performing some basic operations.
At that time, I was studying Microsoft's SQL Server database. I remember the first time I came across SQL Server in a special course.
The teacher asked us to bring our computers, loaded the environment, and then began to demonstrate how to operate. At that time, my knowledge of databases was limited to the theoretical knowledge in the textbooks, and I was completely blank about the practical applications.
Gap between classroom and practice
My study habits are still the same as they were before I went to university, built primarily to cope with exams and not taking into account the practical demands of employment, an approach that seems both naïve and ignorant. If I had to do it all over again right now, I would not hesitate to grab an internship experience, even if it is an unpaid job, it is still better than having no practical experience.
During the interview process, I found that the interviewer never asks you about the basics that you learned in class, because these knowledge itself is the basic requirements that a qualified candidate must master. In fact, the interview pays more attention to the key skills in the actual work, such as index optimization, cluster building, etc., which have not been given enough attention in my study.
The exam still focuses on the basics of the three paradigms, SQL statements (including DML and DDL), and so on. In the past, I did not think deeply about these issues and was only satisfied with good or bad exam results, thinking that this was enough to prove my mastery of such knowledge. In fact, this mentality appears to be too one-sided, as it ignores the more complex and challenging skills required in the real world of work.
😭 I wonder if everyone else is thinking the same thing?
Turning point: out-of-school training
Fortunately, near the time of graduation, although my university was only an ordinary second-tier school, it invited a number of off-campus organizations to come to the university for lectures and training. Although these trainings were actually an extension of my personal interests, and I had a strong interest in computers, the fact that I was an arts student myself and majored in economics and management made me feel lost in my search for a relevant career path. Not to mention, even finding the right training organization became a challenge at that time.
The family was all rural, and the family's emphasis and choice of education was not as broad and deep as that of urbanites, but where someone had traveled this path, 🤡 it wasn't as if they chose a liberal arts student as a future direction at the time without much forethought.
Programming Enlightenment
Taking this opportunity, I started learning Java programming, and an essential part of programming is database operations. After all, business programming without talking about the business side of things would simply involve storing business data in a database and then extracting the data from the database for the user to visualize and manipulate.
At that time I mainly learned MySQL and Oracle database. Especially the study of Oracle impressed me deeply, because Oracle has a lot of knowledge and complexity, I encountered a lot of difficulties in the learning process. Especially the installation of Oracle requires a very high configuration of my computer, and at that time my computer configuration was rather ordinary, and after the installation the computer almost became unable to run normally, which also made me have a certain resistance to the study of Oracle.
🙇♂️ Then I realized that some of the tasks in the background can be stopped after Oracle is installed. I threw
Exploration of databases
I could never understand the lessons and made no progress when I went home. So I decided not to follow the teacher's progress, but chose to study alone. I went to the library and borrowed a very, very thick book on Oracle and went home and devoted myself to self-study. This experience is still unforgettable to me. That winter vacation, I went back to my hometown. Since I had been out of school for a long time, I had almost no friends at home, so I could only face the computer and Oracle textbook alone, patiently practicing on my own. Despite the sound of firecrackers outside, I was completely immersed in my studies and had no desire to play.
In the process of self-study, I encountered many tricky questions. I tried to seek help from the teachers of the training organization, but most of them were unable to give effective answers. The reason was that the area of my study was beyond the scope of their regular training, because the courses of the training organizations mainly focused on the basics commonly used in the workplace, without covering more in-depth contents. In such a situation, I felt a bit lost. Despite my passion for programming, the depth and breadth of learning about databases was beyond the coverage of the training course, leaving me to rely on myself to research and solve problems. Eventually, I had to give up on continuing to delve into this field.
However, this experience was an improvement over my studies at the university. I gained in-depth knowledge of Oracle objects, indexing and other important points, and memorized a lot of the "eight-legged" knowledge required for exams. This knowledge has been a positive contribution to my later work and study.
move towards society
Database applications in practical work
By chance, I entered Beijing Meicai Company, which is really a trick of fate. Most of the knowledge I learned before was not actually used, but this experience also gave me a lot of gains. During my internship, I mainly used PHP, which was said to be the best programming and development language in the world 😂.
Fortunately, when I was in college, I still have some basic knowledge about PHP in my head, and on this basis, I have mastered some Java skills through independent training. This allows me to be more comfortable in the work, after all, as an intern, I engaged in most of the work is familiar and look at the routine tasks.
At the time, I was using MySQL for databases, which was a relief. No matter how many programming languages there are, there is essentially only one database language - SQL. While different database systems may have different functions, the core syntax remains essentially the same and doesn't change as often as programming languages.
At work, I've had more exposure to and use of database indexes, which is a very different experience than when working with data locally. In the actual working environment, the optimization and adjustment of indexes have a very obvious impact on query speed, unlike when testing data locally, where query speed does not change much regardless of whether indexes are added or not. This personal experience of the actual effect of indexes makes me more deeply realize the importance of indexes in improving database performance, and makes me pay more attention to and be more proficient in the use of indexes when dealing with data in the actual work.
Personal Experience and Perceptions of Participation in Domestic Databases
Due to family reasons, I went back to my hometown Changchun to work, during this time, the database I contacted is mainly Oracle. in my work, my task mainly focuses on optimizing SQL statements, followed by development and operation and maintenance operations. For me, database has become an essential tool. Although I am not a professional DBA, I can still use some relevant knowledge to complete my work.
After about 2020, I started to hear frequent discussions about homegrown databases. In particular, Damon Database's name came up often, and I also saw voices about other homegrown databases in some community group chats. Although these discussions were not extensive at that time and I didn't pay much attention to them, it signaled that the influence of homegrown databases in the industry was gradually growing.
🤡 The fact that even a little Karami like me can hear such information shows that the influence of domestic databases is indeed growing. Hahaha
OpenTenBase
Coincidentally, this spring, I was fortunate enough to participate in an open source database contest about OpenTenBase sponsored by the Open Source Foundation. In order to prepare for this competition, I used my holiday time to focus on studying databases in depth at home, and although I started only for the attractive prize money, I was lucky enough to win the third prize in the end. This achievement made me feel very pleased and grateful to myself.
During this time, I often felt an urge to switch careers and become a database expert, but I also realized that the depth and breadth of the database field was much deeper and more difficult than I had ever imagined, so I decided not to let myself get caught up in the missteps. Nonetheless, I remained firm in my choice to stick to the programming field and continue to work in programming. No matter how small the nugget of knowledge, I hope to document it and continue to learn and grow.
NPC Golden Barn
In July of the same year, at the suggestion of a good friend (Lorraine), I was fortunate enough to participate in an essay contest organized by the NPC Golden Barn. Writing essays has become relatively easy for me because I have accumulated some writing experience. As long as the outline was clear, the next step was to enrich the content, organize the structure, and then embellish it. After a lot of hard work, in the end I was also lucky enough to win the third prize. This achievement also made me feel gratified.
At this time, I realized that the homegrown databases have supported multiple migration functions between databases in terms of data migration. At the same time, I also learned about the different ways of handling transaction isolation levels in the Golden Vault database. Facing the questions of "repeatable reads", "dirty reads" and "phantom reads", if we only rely on the general theoretical knowledge to answer, it will often seem superficial and inaccurate. Therefore, I decided to study the technology of home-made databases more deeply.
The big wave has arrived.
Once, my impression of domestic database stays in the stage of relying on policy support, and I always think that foreign MySQL and Oracle technologies are more mature, and domestic databases seem to be much inferior in technology. However, looking back now, the technical level of domestic databases has been significantly improved, and we can no longer use the outdated point of view to evaluate them. This discovery has given me a new understanding and respect for domestic databases, and made me re-examine their technical progress and development.
As a whole, there are only a few database vendors that can realize profitable and healthy development, and most domestic database vendors are still in the state of "burning money" because of the lack of sufficient customer cases and market support. With the deepening of the localization process and the new policy guidance and changes in the market environment, the competition among domestic databases has become extremely fierce, like a big wave of sand. To stand out in this brutal competitive environment, database vendors must emphasize technological innovation and pay close attention to the actual needs and pain points of customers. In addition, building a good community ecosystem is also critical to enhance the visibility of the product and cultivate the technical influence of users and developers, which should not be ignored. In the wave of database localization, any point not doing well enough may result in being eliminated from the market.
Database localization is both an opportunity and a challenge, for vendors, the need to continuously optimize their products to meet customer needs; for database administrators (DBAs), you need to continue to learn to adapt to the new challenges; for customers, you need to carefully evaluate the advantages and disadvantages of the use of domestic databases; and for the market, after the big wave of sand, the ultimate remaining database, we can only wait and see.
Documentary revelations
Finally, by watching the China Database documentaryThe Past and Present Life of China's Database, I deeply realized that my understanding of domestic databases has fundamentally changed. Previously, I had almost no knowledge of the history of domestic databases, but this experience made me deeply interested in their development. The documentary recorded in detail the growth of the domestic database from its beginnings to the present day, which made me feel the great efforts and contributions of the predecessors such as Wei Zhongzhao.
The documentary is presented using narrative storytelling and an intimate, homespun language that makes complex technological developments come alive. Personally, I like this style very much, it not only let me better understand the progress of domestic databases, but also let me look forward to their future. If you are interested in the development of domestic databases, I also recommend you to watch this documentary, and I believe you will get a lot of inspiration and thoughts from it as I do.
😁 Everyone who has the time might want to take the time to watch this documentary, even if it's just to cut down on your gaming time a bit, it's worth it. Learning about the development of domestic databases will not only give you a deeper understanding of technological advances, but also allow you to hear the names of many of your predecessors and their contributions 🫡. Through these real-life stories and experiences, you will have a more comprehensive understanding of the growth of domestic databases, as well as a better understanding of the background and development of related fields.
ultimate
Thanks a lot for reading my story. I live in Changchun, Northeast China and I am an ordinary Java programmer. If there is any misrepresentation in the article, please understand and point it out in the comment section. This is the end of today's sharing.
However, recently I have perceived that the development of domestic databases is very active. Even an ordinary programmer like me has access to some of the information, which indicates that the critical moment for domestic databases has come. As mentioned in the article, the development of domestic database is both an opportunity and a challenge. In this competitive market, only a few companies can survive, depending on who can get more market support and customer cases.
Regardless of how databases evolve, though, the SQL language has become a globally uniform standard. There really is no language in the world that can perfectly replace the functionality and universality of SQL.
I'm Rain, a Java server-side coder, studying the mysteries of AI technology. I love technical communication and sharing, and I'm passionate about the open source community. I am also an excellent author of Nuggets, a content co-creator of Tencent Cloud, an expert blogger of Ali Cloud, and an expert of Huawei Cloud.
💡 I won't be shy about sharing my personal explorations and experiences on the path of technology, in the hope that I can bring some inspiration and help to your learning and growth.
🌟 Welcome to the effortless drizzle! 🌟