2,685 Matching Annotations
  1. Nov 2019
    1. As the fire gets hotter, more complete combustion occurs, less smoke is produced, and the flames lose the yellow color, turning more blue

      As the fire gets hotter:

      • more complete combustion
      • less smoke
      • yellow colour turns into blue
    2. When the temperature of wood is increased (through application of heat), first the water is driven off. This occurs up to about 200°C. Between approximately 200°C–280°C the heat starts to break down the hemicellulose compounds into Carbon Monoxide, Carbon Dioxide, Acetic Acid, (and more water vapour); these are driven out. Between 280°–500° decomposition of the longer cellulose and lignin begins and produces light tars and Methyl Alcohol

      Burning process:

      1. < 200°C - water is driven off
      2. 200°C-280°C - heat breaks down the hemicellulose compounds into Carbon Monoxide, Carbon Dioxide, Acetic Acid, and more water vapour
      3. > 280°C - hydrogen is still produced. Oxygen reacts directly with the Carbon left in the wood exothermically (process happening in the glowing embers)
    3. The pyrolysis of wood is an incredibly intricate and complex process that is not completely mapped out and the exact output depends of many variables

      Pyrolysis is complex and relies on lots of variables (type of wood, temperature...)

    4. The chemical composition of wood varies from species to species, but is approximately 50% carbon, 42% Oxygen, 6% Hydrogen, 1% Nitrogen, and 1% other elements (mainly Calcium, Potassium, Sodium, Magnesium, Iron, and Manganese) by weight

      Chemical composition of wood. Mainly:

      • 50% carbon
      • 42% oxygen
      • 6% hydrogen
    1. FKs are a performance impact. The fact they require indexes is likely fine, since those indexes are needed anyhow. But the lookup made for each insert/delete is an overhead.

      2nd reason why at GitHub they don't rely on Foreign Keys: FK performance impact

    2. FKs are in your way to shard your database. Your app is accustomed to rely on FK to maintain integrity, instead of doing it on its own. It may even rely on FK to cascade deletes (shudder). When eventually you want to shard or extract data out, you need to change & test the app to an unknown extent.

      1st reason why at GitHub they don't rely on Foreign Keys: Relying on FK to maintain integrity, instead of doing it on its own

    1. To boil everything down to a bullet list, the differences Firefox Developer Edition bring to the table include: A separate profile so your development environment can be configured differently to your regular browsing environment Access to cutting edge features not available elsewhere A 12 week lead time on support for the newest additions to web standards Default preferences tuned for developers Dark theme style out of the box

      Differences between Firefox vs Firefox Developer Edition

    1. Here’s Stephen Harrigan (talking about his book, Big Wonderful Thing: A History of Texas)

      "I think that when it comes to writing books, you have to start before you think you're ready, because you will always feel like you are never ready. I find that as you write the book, the road ahead becomes clearer; before that, the road ahead is just a distraction." ~ Stephen Harrigan

    2. In my experience writing books, it isn’t just a “resistance” thing or a “perfectionist” thing or a fear thing, it’s more about research and wondering if you’ve done enough of it. Research becomes your way of procrastinating, because, let’s face it, research is just more fun than writing. (Me, personally, I became a professional writer so I could be a professional reader.)

      Research is a pure pleasure included in the process of book writing

    3. There’s an awful temptation to just keep on researching. There comes a point where you just have to stop, and start writing. When I began, I thought that the way one should work was to do all the research and then write the book. In time I began to understand that it’s when you start writing that you really find out what you don’t know and need to know.

      Why researching during writing is recommended

    1. When things are wired in parallel, they are wired side by side, such that electricity passes through all of them at the same time, from one common point to another common point

      Wired in parallel - electricity passing through each thing at the same time

    2. When things are wired in series, things are wired one after another, such that electricity has to pass through one thing, then the next thing, then the next, and so on

      Wired in series - electricity passing through each thing

    3. circuit is a complete and closed path through which electric current can flow

      Circuit:

      • closed - allows the flow of electricity between power and ground
      • open - breaks the flow of electricity between power and ground
    4. battery is a container which converts chemical energy into electricity

      Battery - simply stores power

      When put in:

      • series - voltage adds up, current stays the same. For instance, three AA-batteries (1.5V) will result in 4.5V.
      • parallel (rarely) - voltage stays the same, current doubles
    5. This is dependent on the type of switch it is

      Types of switches:

      • Normally open (N.O.) - close circuit when activated
      • Normally closed (N.C.) - open circuit when activated
      • single-pole double-throw (SPDT) - both open one connection and close another when activated
      • double-pole double-throw (DPDT) - two SPDTs combined. Break two separate circuits and open two other ones, every time the switch is activated
    6. special type of diode that lights up when electricity passes through it. Like all diodes, the LED is polarized and electricity is only intended to pass through in one direction

      LED (light emitting diode):

      • polarized (like all diodes)
      • electricity intends to pass only through one direction
    7. For instance, if you have two 10K resistors in series between power (5V) and ground (0V), the point where these two resistors meet will be half the power supply (2.5V) because both of the resistors have identical values

      [Power] --(5V)-- [10K Resistor] --(2.5V)-- [10K Resistor] --(0V)-- [Ground]

      • 2.5V as we have two identical resistors
      • as we turn the knob in potentiometer, the 2.5V can shift towards 5V or 0V
    8. integrated circuit is an entire specialized circuit that has been miniaturized and fit onto one small chip with each leg of the chip connecting to a point within the circuit. These miniaturized circuits typically consist of components such as transistors, resistors, and diodes

      Integrated circuit

    9. transistor takes in a small electrical current at its base pin and amplifies it such that a much larger current can pass between its collector and emitter pins. The amount of current that passes between these two pins is proportional to the voltage being applied at the base pin

      Transistor

    10. Diodes are components which are polarized. They only allow electrical current to pass through them in one direction. This is useful in that it can be placed in a circuit to prevent electricity from flowing in the wrong direction

      Diodes

    11. Ceramic disc capacitors are non-polarized, meaning that electricity can pass through them no matter how they are inserted in the circuit

      Ceramic disc capacitors = non-polarized

      Typically marked with a number code to be decoded

      Typically represented as two parallel lines

    12. Electrolytic capacitors are typically polarized. This means that one leg needs to be connected to the ground side of the circuit and the other leg must be connected to power. If it is connected backwards, it won't work correctly

      Electrolytic capacitors = typically polarised

      Written on them:

      • Value typically represented with uF
      • minus symbol (-) representing leg connecting to the ground

      Represented by side-by-side straight and curved line

    13. resistors add resistance to the circuit and reduces the flow of electrical current. It is represented in a circuit diagram as a pointy squiggle with a value next to it

      Resistors:

      • measured in ohms
      • come with different wattage ratings
    14. Potentiometers are measured in ohms like resistors, but rather than having color bands, they have their value rating written directly on them (i.e. "1M"). They are also marked with an "A" or a "B, " which indicated the type of response curve it has

      Potentiometers are measured in ohms (like resistors).

      Written on them:

      • value rating (i.e. "1M")
      • type of response curve it has ("A" or "B"):

      "A" - logarithmic response curve (1, 10, 100...) {increases logarithmically}

      "B" - linear response curve (10, 20, 30...) {increases evenly}

    15. Potentiometers are variable resistors. In plain English, they have some sort of knob or slider that you turn or push to change resistance in a circuit. If you have ever used a volume knob on a stereo or a sliding light dimmer, then you have used a potentiometer

      Potentiometer - changes resistance in a circuit

    16. The round notch on one edge of the IC chip indicates the top of the chip. The pin to the top left of the chip is considered pin 1. From pin 1, you read sequentially down the side until you reach the bottom (i.e. pin 1, pin 2, pin 3..). Once at the bottom, you move across to the opposite side

      Order of reading pins in the IC chip (1 to 8):

    17. As a beginner, you will be mainly working with DIP chips. These have pins for through-hole mounting. As you get more advanced, you may consider SMT chips which are surface mount soldered to one side of a circuit board

      Study from DIP chips to SMT chips

    18. you can learn all about integrated circuits by looking up their datasheets. On the datasheet you will learn the functionality of each pin. It should also state the voltage and current ratings of both the chip itself and each individual pin

      Find more information about integrated circuits in the datasheets

    19. it requires energy to pass through a diode and this results in a drop of voltage. This is typically a loss of about 0.7V

      Drop of voltage (important when talking about LEDs - special form of diodes)

    20. The most commonly encountered types of capacitors are ceramic disc capacitors that look like tiny M&Ms with two wires sticking out of them and electrolytic capacitors that look more like small cylindrical tubes with two wires coming out the bottom (or sometimes each end)

      Typical look of capacitors

    21. there needs to be something wired between positive and ground that adds resistance to the flow of electricity and uses it up. If positive voltage is connected directly to ground and does not first pass through something that adds resistance, like a motor, this will result in a short circuit

      Resistance - prevents short circuit from happening

    1. The result of the uniform interface is that requests from different clients look the same, whether the client is a chrome browser, a linux server, a python script, an android app or anything else

      Reason of the uniform interface - requests from different clients look the same

    2. The client can request code from the server, and then the response from the server will contain some code, usually in the form of a script, when the response is in HTML format. The client then can execute that code

      6) Code-on-demand (optional) - when the response is in HTML format, the response will come in form of a script, which can be executed

    3. data the server sends contain information about whether or not the data is cacheable. If the data is cacheable, it might contain some sort of a version number. The version number is what makes caching possible: since the client knows which version of the data it already has (from a previous response), the client can avoid requesting the same data again and again

      5) Cacheable - client can avoid requesting the same data again, thanks to remembering the version number of the cacheable data

    4. In order for an API to be RESTful, it has to adhere to 6 constraints

      6 constraints of RESTful API:

      1. uniform interface
      2. client - server separation
      3. stateless
      4. layered system
      5. cacheable
      6. code-on-demand (optional)
    5. there might be a number of servers in the middle. These servers might provide a security layer, a caching layer, a load-balancing layer, or other functionality

      4) Layered system - there's a number of server between the server and the response

    6. client and the server act independently, each on its own, and the interaction between them is only in the form of requests, initiated by the client only, and responses, which the server send to the client only as a reaction to a request

      2) Client - server separation - client and server act independently, communicating through requests (client) and responses (server)

    7. Uniform interface

      1) Uniform interface has 4 parts:

      1. Request to the server includes resource identifier.
      2. Response from the server includes enough information so the client can modify the resource.
      3. Request to APi contains all the information server needs to perform the request, and vice versa.
      4. Hypermedia as the engine of application state - the server can inform the client, in a response, of the ways to change the state of the web application.
    1. What the server does when you, the client, call one of its APIs depends on 2 things that you need to provide to the server

      2 things required by the server:

      1. endpoint <--- identifier of a resource (its URL).
      2. HTTP method / verb <--- operation to perform: GET, POST, PUT, DELETE
    2. The representation of the state can be in a JSON format, and probably for most APIs this is indeed the case. It can also be in XML or HTML format

      JSON, XML or HTML <--- most popular formats of state representations

    3. It means when a RESTful API is called, the server will transfer to the client a representation of the state of the requested resource.

      Reason REST is named as REST:

      *REpresentational State Transfer*

    4. RESTful web application exposes information about itself in the form of information about its resources. It also enables the client to take actions on those resources, such as create new resources (i.e. create a new user) or change existing resources (i.e. edit a post).

      RESTful web application

    1. Yet paradoxically, females in wealthier countries with more gender equality, including the U.S., were less likely than females in other countries to get degrees in fields such as math and computer science.

      The wealthier the country, the least women in STEM

    1. A tiny percentage of people have the DEC2 gene, a genetic mutation that produces a short sleeping phenotype“The probability that you are a DEC2 carrier is very low… You’re far more likely to be struck by lightning in your lifetime.” – Dr. Matthew WalkerPeople with the DEC2 gene only need ~6.25 hours of sleep per night

      A very tiny percentage of the population having the DEC2 gene is okay with sleeping only 6 hours.

    1. BFS looks at each adjacent node and doesn't consider the children of those adjacent nodes. DFS looks at each adjacent node, and looks at all the children of the current adjacent nodes. It again, looks at the children of the next adjacent node (adjacent to the children of the prevoius)

      Difference between BFS (Breadth First Search) & DFS (Depth First Search)

  2. Oct 2019
    1. The big idea behind Brave is that instead of supporting websites by viewing their banner ads, you can pay them directly through your browser

      How to make money with Brave Browser:

      1. You use money to buy Brave's Basic Attention Token (BAT) cryptocurrency, and that BAT goes into your Brave wallet.
      2. Brave will keep track of how much time you spend on each website or YouTube channel.
      3. Then Brave will divide up your BAT and pay websites and YouTube channels each month based on how much time you spent using them.

      This means instead of making a bunch of small individual donations to the dozens of websites and YouTube channels you use each month, you can just load money into Brave. Brave will then passively distribute that money for you.

    1. Tutorials and how-to guides are similar because they are both concerned with describing practical steps, while what how-to guides share with technical referenceis that they’re what we need when we are actually at work, coding. Reference guides and explanation are similar because they’re concerned with theoretical knowledge, and finally, what tutorials have in common with explanation is that they are most useful when we are studying, rather than actually working

      Difference between tutorials, how-to guides, explanation and reference:

    1. Summary: Napping
      • good siesta can double creative productivity
      • siesta should be taken 7-8 hours from natural waking
      • alarm clock undermines the value of napping
      • caffeine before the nap undermines the value of napping
      • caffeine after the nap may boost the effect of napping
      • one nap per day is optimum
      • habitual nappers improve nap quality over years of the habit
      • nap compensate slow-wave sleep needs in roughly 1:3 duration ratio
      • short night sleep may be a sign of bad health, aging, or a sign of good sleep (see: How long should we sleep?)
    2. "Everyman sleep schedule". Were it not for that gravitation and a tendency to take a "core sleep", I might even suspect that the inventor of the Uberman sleep cycle suffered from a rare mutation that causes circadian arrhythmicity. People with that disorder cannot sleep well in a long block over the night and take multiple naps during the day

      Some people simply cannot sleep well in a long block over the night

    3. Even though naps provide an excellent compensation for lost sleep in the night, they cannot provide a full functional replacement. To achieve your maximum cognitive capacity, you need to run your night sleep uninterrupted until completion!

      Don't try to fully replace your night time sleep with naps!

    4. For a nap to express its full power, the following conditions must be met (in order of importance): it should take place at the center of the midday circadian nadir (see: Best nap timing). This corresponds with Mediterranean siesta it cannot be regulated with alarm clocks, caffeine, or other sleep "tricks". Coffee naps are a good idea for people in a hurry, not for those who care about brain productivity it should be the only nap of the day (i.e. it cannot be part of a polyphasic sleep schedule) it works best in free running sleep with no sleep deficit it works best in people with no physical or mental health issues it works best in habitual nappers who improved the quality of their naps from month to month by adjusting and perfecting little details in their surroundings. Beginners are often too anxious to fall asleep

      How to correctly perform a power nap

    1. Analysis of data collected in 1970 from 48.738 young Swedish men, compared to national suicide registers, shows that lower intelligence increases suicide risk. Low emotional control significantly contributes to suicide in young men, but becomes less of a factor with age. Low intelligence, however, remains a significant contributor to male suicide throughout life.

      Intelligence as well as emotional control significantly contribute to male suicide

    1. In general, use synchronous communication when the following is true
      • You want to build rapport with people (e.g., a 1-on-1 or team meeting).
      • You need to provide critical feedback or discuss other sensitive topics.
      • You have a lot of unknowns and you want to brainstorm different ideas and solutions.
      • There are a lot of moving variables and you want to bring everyone on the same page quickly, e.g., via a project kickoff meeting.
      • A crisis happens that requires immediate attention, e.g., a server crashes. We use Telegram with the notifications turned on at all times for emergency communications only.
    2. Study after study after study into remote work has made one thing clear: Remote workers are more productive than their office-bound counterparts.

      The question is: why?

      Answer is: it's not just because of the time saved by avoiding commuting

    1. The top reasons why a product fails:It’s too complicated – simplicity is kingIt doesn’t spread by word-of-mouthIt doesn’t take advantage of the power of iterationThe founder is too fearful of creating something novelIt’s not launched into a community

      Think about it before developing a commercial product

    1. If you really want to impress your security consultant, then casually mention Kerckhoffs Principle which is a more formal way of saying ‘security through obscurity is not sufficient’

      Kerckhoffs Principle

    2. Security through obscurity is security through the design of a system. In other words, if the design of your system were to become public then it would be easy to expose

      Security Through Obscurity

    3. Role-Based Access Control gives permission to a more abstract entity called a role. Rather than giving access to that user directly, you give the user access to the role, and then that role has the access permissions set for it

      Role-Based Access Control (RBAC)

    4. This is why it’s important to ‘salt‘ your hash with a secret key so that knowledge of the hash algorithm isn’t enough to crack a lot of passwords

      Improving hashing algorithms

    5. Encryption vs Encoding

      Encoding - converting some data into some other format

      Encryption - involves needing some secret or secure process to get access to the data, like a private 'key' that you store in your ~/.ssh folder

    1. The colours black & white have opposing meaning in western and eastern cultures

      west culture:

      • black = finality, death, formality
      • white = purity, peace

      east culture:

      • white = death
      • black = wealth, health, prosperity
    2. Think of each colour in context of its environment, for example do you have a mostly grey, white or muted colours on your website then make your call to action button(s) green or red

      There is no universal guide in choosing website colours. Go with your own intuition

    3. We are using colour to communicate the value of our product or service
      • Red – Passionate, Aggressive, Important
      • Orange – Playful, Energetic, Cheap
      • Yellow – Happy, Friendly, Warning
      • Green – Natural, Stable, Prosperous
      • Blue – Serene, Trustworthy, Inviting
      • Violet – Luxurious, Mysterious, Romantic
      • Pink – Feminine, Young, Innocent
      • Black – Powerful, Sophisticated, Edgy
      • Brown – Earthy, Sturdy, Rustic
      • Grey – Neutral, Formal, Gloomy
      • White – Clean, Virtuous, Healthy
      • Beige – Accentuates surrounding colours
    4. There are 2 primary colour systems (to reproduce colour) we use on a daily basis additive & subtractive. Anything that emits light (sun, screen or projector) uses additive and everything else reflects colour and uses subtractive colour

      2 primary colour systems: 2 primary colour systems

    5. The colour wheel is where you need to start when planning a colour scheme or branding for your business and for sales and marketing campaigns. The colour wheel consists of primary, secondary and tertiary colours.
      1. Primary: can not be made from any other colours
      2. Secondary: formed by mixing the primary colours
      3. Tertiary: formed by mixing primary and secondary colours colour wheel
    1. “When scientists analyze people who appear to have tremendous self-control, it turns out those individuals aren’t all that different from those who are struggling. Instead, “disciplined” people are better at structuring their lives in a way that does not require heroic willpower and self-control.” - Atomic Habits

      Where all the self-control comes from...

    2. I set an open invitation to my brain to take note of anything interesting. More specifically, I look for anything within the intersection of: (1) interesting, (2) doesn’t exist online in that exact form, and (3) something I can contribute uniquely to

      Ideation - look for topics to write about: Idea Ikigai

    3. In my opinion, writing should never be something that you do just to check off of your to-do list. At its core, writing is a mechanism to try to deliver value to others. And over time, I’ve defined that as my core goal.

      Indeed, writing for others is a great devotion

    4. Writing Process Steps:Ideation: PassiveTracking: ActiveOutline - ActiveIdea Arbitrage - PassiveResearch - ActiveWriting - Active

      Proposition of steps to follow while writing. Active state requires a "hard-core execute mode".

      1. Ideation (passive)
      2. Tracking (active)
      3. Outline (active)
      4. Idea Arbitrage (passive)
      5. Research (active)
      6. Writing (active)
    1. Database engines in practice don’t actually run queries by joining, and then filtering, and then grouping, because they implement a bunch of optimizations reorder things to make the query run faster as long as reordering things won’t change the results of the query

      SQL queries are run by database engines in different order than we write them down

    2. SELECT isn’t the first thing, it’s like the 5th thing!

      Order of SQL queries:

      1. FROM/JOIN and all the ON conditions
      2. WHERE
      3. GROUP BY
      4. HAVING
      5. SELECT (including window functions)
      6. ORDER BY
      7. LIMIT SQL queries happen in this order* 1.
    1. The vertical bar on the letter T represents the depth of related skills and expertise in a single field, whereas the horizontal bar is the ability to collaborate across disciplines with experts in other areas and to apply knowledge in areas of expertise other than one's own.

      T shaped knowledge

  3. Sep 2019
    1. To address the availability concern, new architectures were developed to minimize the impact of partitions. For instance, splitting data sets into smaller ranges called shards can minimize the amount of data that is unavailable during partitions. Furthermore, mechanisms to automatically alter the roles of various cluster members based on network conditions allow them to regain availability quickly

      Qualities of NewSQL - mainly minimisation of the impact of partitions

    2. typically less flexible and generalized than their more conventional relational counterparts. They also usually only offer a subset of full SQL and relational features, which means that they might not be able to handle certain kinds of usage. Many NewSQL implementations also store a large part of or their entire dataset in the computer's main memory. This improves performance at the cost of greater risk to unpersisted changes

      Differences between NewSQL and relational databases:

      • typically less flexible and generalized
      • usually only offer a subset of full SQL and relational features, which means that they might not be able to handle certain kinds of usage.
      • many NewSQL implementations also store a large part of or their entire dataset in the computer's main memory. This improves performance at the cost of greater risk to unpersisted changes.
    3. using a mixture of different database types is the best approach for handling the data of your projects

      Many times mixing different databases is a good approach.

      For example:

      • store user information - relational databases
      • configuration values - in-memory key-value store
    4. CAP theorem is a statement about the trade offs that distributed databases must make between availability and consistency. It asserts that in the event of a network partition, a distributed database can choose either to remain available or remain consistent, but it cannot do both. Cluster members in a partitioned network can continue operating, leading to at least temporary inconsistency. Alternatively, at least some of the disconnected members must refuse to alter their data during the partition to ensure data consistency

      CAP Theorem relating to distributed databases

      CAP

    5. NewSQL databases: bringing modern scalability and performance to the traditional relational pattern

      NewSQL databases - designed with scalability and modern performance requirements. Follow the relational structure and semantics, but are built using more modern, scalable design. Rise in popularity in 2010s.

      Examples:

      • MemSQL
      • VoltDB
      • Spanner
      • Calvin
      • CockroachDB
      • FaunaDB
      • yugabyteDB
    6. Column-family databases are good when working with applications that requires great performance for row-based operations and highly scalability

      Advantage of column databases. They also collect row data in a cluster on the same machine, simplifying data sharding and scaling

    7. it helps to think of column family databases as key-value databases where each key (row identifier) returns a dictionary of arbitrary attributes and their values (the column names and their values)

      Tip to remember the idea of column databases

    8. Column-family databases: databases with flexible columns to bridge the gap between relational and document databases

      Column-family databases - also called as non-relational column stores, wide-column databases or column databases. Rise in popularity in 2000s. Look highly similar to relational databases. They have structure called column families, which contain rows of data, each of which define their own format. Therefore, each row in a column family defines its own schema.

      Examples:

      • Cassandra
      • HBase

      Diagram of column-family database structure

    9. querying for the connection between two users of a social media site in a relational database is likely to require multiple table joins and therefore be rather resource intensive. This same query would be straightforward in a graph database that directly maps connections

      Social media prefers graph databases over relational ones

    10. network databases require step-by-step traversal to travel between items and are limited in the types of relationships they can represent.

      Difference between network databases (SQL) and graph databases (NoSQL)

    11. Graph databases: mapping relationships by focusing on how connections between data are meaningful

      Graph databases - establishes connections using the concepts of nodes, edges, and properties. Rise in popularity in 2000s.

      Examples:

      • Neo4j
      • JanusGraph
      • Dgraph

      Diagram of a graph database structure

    12. Document databases: Storing all of an item's data in flexible, self-describing structures

      Document databases - also known as document-oriented databases or document stores, share the basic access and retrieval semantics of key-value stores. Rise in popularity in 2009.

      They also used keys to uniquely identify data, therefore the line between advanced key-value stores and document databases can be fairly unclear.

      Instead of storing arbitrary blobs of data, document databases store data in structured formats called documents, often using formats like JSON, BSON, or XML.

      Examples:

      • MongoDB
      • RethinkDB
      • Couchbase

      Diagram of document database

    13. Document databases are a good choice for rapid development because you can change the properties of the data you want to save at any point without altering existing structures or data. You only need to backfill records if you want to. Each document within the database stands on its own with its own system of organization. If you're still figuring out your data structure and your data is mainly composed discrete entries that don't include a lot of cross references, a document database might be a good place to start. Be careful, however, as the extra flexibility means that you are responsible for maintaining the consistency and structure of your data, which can be extremely challenging

      Pros and cons of document databases

    14. Though the data within documents is organized within a structure, document databases do not prescribe any specific format or schema

      Therefore, unlike in key-value stores, the content stored in document databases can be queried and analysed

    15. Key-value stores are often used to store configuration data, state information, and any data that might be represented by a dictionary or hash in a programming language. Key-value stores provide fast, low-complexity access to this type of data

      Use and advantages of of key-value stores

    16. Key-value databases: simple, dictionary-style lookups for basic storage and retrieval

      Key-value databases - one of the simplest database types. Initially introduced in 1970s (rise in popularity: 2000-2010). Work by storing arbitrary data accessible through a specific key.

      • to store data, you provide a key and the blob of data you wish to save, for example a JSON object, an image, or plain text.
      • to retrieve data, you provide the key and will then be given the blob of data back.

      Examples:

      • Redis
      • memcached
      • etcd

      Diagram of key-value store

    17. NoSQL databases: modern alternatives for data that doesn't fit the relational paradigm

      NoSQL databases - stands for either non-SQL or not only SQL to clarify that sometimes they allow SQL-like querying.

      4 types:

      • Key-value
      • Document
      • Graph
      • Column-family
    18. relational databases are often a good fit for any data that is regular, predictable, and benefits from the ability to flexibly compose information in various formats. Because relational databases work off of a schema, it can be more challenging to alter the structure of data after it is in the system. However, the schema also helps enforce the integrity of the data, making sure values match the expected formats, and that required information is included. Overall, relational databases are a solid choice for many applications because applications often generate well-ordered, structured data

      Pros and cons of relational database