SQLServerCentral Editorial

Knowing What You Don't Know

,

I used to think I knew everything. I felt like I had the world all figured out. But then, when I went to kindergarten, I realized that I didn't know much at all. As I grew older and finished college, I regained confidence in my knowledge and again felt like I knew everything about the universe. However, as I got out into the real world of employment and failed a few times, I began to realize just how little I actually knew. That trend has continued every year of my life borne out of plenty of failures, but also from realizing just how much stuff there is to know in the world.

Socrates once said, "The only true wisdom is in knowing you know nothing," I've really taken that to heart over the years, and recently, this concept came to mind as I was learning about how PostgreSQL works. At first glance, it appeared very similar to other SQL Server products, leading me to assume that the internals and workings would be very similar. This assumption was a bit dangerous.

While there are indeed many similarities, I discovered unexpected differences, such as how concurrency is implemented. For example, SQL Server uses an entirely lockless approach to implement MVCC (Multi-Version Concurrency Control) for their in-memory objects, and I expected PostgreSQL would also. But for some parts of the isolation process, PostgreSQL implements locks. So, from what I understand currently, it seems to mean that PostgreSQL behaves pretty similar to how SQL Server does when using Read Committed Snapshot... but I am not quite sure yet. And if I was about to start a PostgreSQL project where isolation and concurrency were very important, I would not feel immediately confident to trust my knowledge or instincts.

Seeking out knowledge on topics you believe to be true is really hard, but quite often an essential, repeatable step in learning. Not only do you need to read that something is true and honestly still true, but you have to overcome that "I know everything" attitude that you are bound to have in your head. Add to that that one of the most concerning parts of "doing your research" is that when you read blogs or articles about a topic you don't fully understand, you might unknowingly accept incorrect information. Depending on how critical some knowledge is, it's essential to thoroughly test and validate the principles you learn, especially when working on complex topics.

And is that ever hard. Too often people, me included, think they know a lot more than they actually do and assume they are right without really knowing so. If you aren’t sure about a topic, take some time to learn from various sources and try to find sources you know are credible. And if you can verify that they are right, do that too.

 

Rate

5 (1)

You rated this post out of 5. Change rating

Share

Share

Rate

5 (1)

You rated this post out of 5. Change rating