Skip to main content

Gentlest introduction : Databases

Why database

I know a quick google on the definition of database will yield results suck as a repository of information  but what my tutor taught me is that that definition is akin to defining an engine as a collection of metal parts. So the definition must now be more inclined towards why database.

Because database is more than just storing information (because whats the point when you can simply store the information on an excel spreadsheet. Why database then? Its because of what happens next.

Imagine these scenarios (which are perfectly normal when it comes to real world scenarios)

Data

  • Grows
  • Changes over time - and we need to be able to track the changes
  • Should be fast and searchable
  • Should have awesome up-time and be interdependent to other systems
  • should be consistent and protected (secure)
So why database is to be able to solve all the problems that come with data. It is to provide a more organized repository of information. 


Relational Database management Systems Concepts

  1. Entity - its a thing/object
  2. Tables and Columns - generally a table for each entity
  3. Keys - Can be Primary and Foreign
  4. Referential Integrity - Keys must address that!
  5. Schema 
  6. CRUD - Create, Read Update Delete operations
  7. Transactions 
  8. ACID: Atomic (cannot be split) Consistent (Valid then, Valid now) Isolated (Before a transaction is complete changes are not reflected) Durable (When a change is made. It is made)
RDBMS was a pretty cool concept and has been reliable for a very long time but one of the key disadvantages now is that it is not flexible enough for a fast changing world. So what has happened now?

a) Non Relational Database Management Systems (aka No SQL)

This is a more dynamic approach with the added benefits of speed, scaling and cost. For example MongoDB 

b) NewSQL

This is a blen of the old and the new (RDBMS and NRDBMS) bringing Polygot Persistence





Comments

Popular posts from this blog

Django & Firebase - A marriage of awesomeness

Requirements 1) Django (obviously) 2) Pyrebase (pip install pyrebase, you know the drill) So to give a better appreciation- I will first show you the HTML way then I'll proceed to show you how its done in Python. METHOD 1 : The HTML way Then you need to go to the firebase console. To setup a new project. After that you will see a web setup and you select that. Once selected you will see the config. It should be similar to this : Now that you have configured firebase, we now need to select the components which will be needed. depending on what you want for your app- you can now select the modules that you need. For us today, we will do the login authentication. Make sure you include firebase app first, so this is my screen: METHOD 2: Enter Python Open your dev environment and create a file named  pyrebase_settings within your django app folder. In it, you will have the following: Now, lets go to views.py!

PRG, PRF, PRP in Cryptography - What are they?

So I have been reading up on my cryptography and I figured I should give out a brief lesson on these three amazing concepts What are they ? a) PRG (Pseudo Random Generator) You probably know the difference between stream and block cipher. One of the main differences between them is key size. Stream ciphers require the key to be of equal length of greater than the plaintext ,   whereas Block Ciphers take a key smaller than the PT and is then expanded. This is the PRG The PRG expands the seed Considerations: Stream Ciphers base on Perfect Secrecy whereas Block Ciphers base on Semantic Security b) PRF (Pseudo Random Function) Lets share a secret- imagine something- you want to authenticate yourself with me by proving that you know a secret that we both share. Here's a possible option i) Possible Option 1:  PRNGs We both seed a PRNG with the shared secret, I pick and then send you some random number i.  You   then have to prove that you know the s...

Why I think the fiat money system is useless – PART 1 (How it all began)

The fiat money system came as a solution to the so called ‘problems’ of the gold standard.  We, at the time, thought we are now too cool for neo classical economics and started to vouch for classical economics (smh as if it raised us). But wait whoa! What am I talking about? I’m talking about money. Let me start off with a brief history of money. So we get on the same page. Let’s get into our imaginary time travel pod and let’s take a sneak peak of the past. By definition, money is a generally accepted medium of exchange. We started this medium of exchange by bartering. Bartering is a direct trade of goods and services - I'll give you a stone axe if you help me kill a mammoth - but such arrangements take time. You have to find someone who thinks an axe is a fair trade for having to face the 12-foot tusks on a beast that doesn't take kindly to being hunted. If that didn't work, you would have to alter the deal until someone agreed to the terms. O...