https://machinelearningmastery.com/vector-databases-explained-in-3-levels-of-difficulty/