- In Java, the `this` keyword is a reference to the current object within a non-static method or constructor. It represents the instance of the class on which the method or constructor is being called.
- When a class is instantiated to create an object, that object has its own set of instance variables and methods. The `this` keyword allows you to refer to those instance variables and methods from within the class itself. It is primarily used to differentiate between instance variables and parameters or local variables that have the same name.
- Here are a few common uses of the `this` keyword in Java:
collapsed:: true
- Accessing instance variables: You can use `this` to access or modify the instance variables of the current object. For example, `this.variableName` refers to the instance variable `variableName` of the current object.
- Invoking constructors: In a constructor, `this` can be used to invoke another constructor in the same class. It is useful for constructor chaining, where one constructor calls another constructor to initialize the object.
- Passing the current object as a parameter: Sometimes, you may need to pass the current object as an argument to another method. In such cases, you can use `this` to pass a reference to the current object.
- Returning the current object: A method can use `this` to return the current object. This is often used in method chaining, where multiple method calls are chained together on the same object.
- It's important to note that `this` can only be used within non-static contexts, as it refers to the current instance of the class. Static methods and variables do not belong to any specific instance, so `this` cannot be used inside them.
- Overall, the `this` keyword provides a way to refer to the current object and access its members, helping to avoid naming conflicts and make the code more readable.
- DONE Past exam papers
:LOGBOOK:
CLOCK: [2023-06-11 Sun 21:37:16]--[2023-06-12 Mon 12:58:29] => 15:21:13
- Inheritance in Java is **a concept that acquires the properties from one class to other classes**
- ## polymorphism
- encapsulation
- Encapsulation in Java is a mechanism of **wrapping the data** (variables) and code acting on the data (methods) together as a single unit. In encapsulation, the variables of a class will be hidden from other classes, and can be accessed only through the methods of their current class. Therefore, it is also known as **data hiding**.
- abstraction.
- Data **abstraction** is the process **of hiding certain details** and showing only essential information to the user.
- Abstraction can be achieved with either **abstract classes** or
[**interfaces**](https://www.w3schools.com/java/java_interface.asp) (which you will learn more about in the next chapter).
- Overloading vs. overriding
- When two or more methods in the same class have the same method name but different parameters, this is called overloading. In contrast, overriding occurs when two methods have the same name and parameters
- Interface
- DONE 毛概 {{renderer :todomaster}}
collapsed:: true
SCHEDULED: <2023-06-13Tue>
- DONE 看笔记
- DONE 做题
:LOGBOOK:
CLOCK: [2023-06-11 Sun 09:51:00]--[2023-06-11 Sun 09:51:01] => 00:00:01
- DONE 看格式要求 _Follow the ABC (Abstract Body Conclusion) Format for all Letters/Memos_
- DONE Job application letter
- Cover letter (application letter)
- #+BEGIN_VERSE
[Your name]
[Your address]
[Your city, state and zip code]
[Date]
[Hiring manager's name]
[Hiring manager's title]
[Company name]
[Company address]
[Company city, state and zip code]
Dear [Hiring manager's name],
I'm writing to express my interest in the position of [job title] at [company]. [Explain how you heard about the job and name your contact if you were referred by someone within the company.] I believe my [skills and qualifications] make me an ideal fit for this job.
[Use the second paragraph to elaborate on how you would help the company. Reference specific campaigns or projects when possible.]
[Use the third paragraph to summarize your key qualifications. Elaborate on your most important accomplishments and include details that you were unable to provide in the more concise format of your resume.]
[Use the fourth paragraph to briefly explain why you want to work for this company. Mention the additional documents included with your cover letter, and express your excitement about moving forward in the hiring process.]
Sincerely,
[Your name]
#+END_VERSE
- DONE Academic
- DONE research proposal
- Format
- #+BEGIN_VERSE
Your proposal should include the following:
1. TITLE
Your title should give a clear indication of your proposed research approach or key question
2. BACKGROUND AND RATIONALE
You should include:
the background and issues of your proposed research
identify your discipline
a short literature review
a summary of key debates and developments in the field
3. RESEARCH QUESTION(S)
You should formulate these clearly, giving an explanation as to what problems and issues are to be explored and why they are worth exploring
4. RESEARCH METHODOLOGY
You should provide an outline of:
the theoretical resources to be drawn on
the research approach (theoretical framework)
the research methods appropriate for the proposed research
a discussion of advantages as well as limits of particular approaches and methods
5. PLAN OF WORK & TIME SCHEDULE
You should include an outline of the various stages and corresponding time lines for developing and implementing the research, including writing up your thesis.
For full-time study your research should be completed within three years, with writing up completed in the fourth year of registration.
For part-time study your research should be completed within six years, with writing up completed by the eighth year.
6. BIBLIOGRAPHY
You should include:
a list of references to key articles and texts discussed within your research proposal
a selection of sources appropriate to the proposed research
#+END_VERSE
- DONE academic paper
- DONE abstract
- Major Types of Abstract - Descriptive Abstracts
- ● Short -uaually less than 120 words.
- ● Includes:
- ● purpose of the paper/work (objectives)
- ● methods used
- ● scope of the paper/work
- ● introducing the subject.
- ● Doesn’t include:
- ● results, conclusions and recommendations
- It aims to provide the reader with brief summaries (1-2 sentences) of each of the sections of the paper.
- ● A descriptive abstract summarizes the main points of a document without
providing any analysis or interpretation, simply describing what the document
contains. It is typically very short and doesn't provide any information beyond
what you would find in the document's table of contents.
- ● An outline of your work
- •Major Types of Abstract - Informative Abstracts
- ● Fairly short - from 250 words to a page or more.
- ● Include:
- ● purpose of the work/paper (research background /objectives)
- ● method used
- ● scope of the work
- ● results / findings
- ● conclusions and recommendations
- ● contributions, novelty (optional)
- It focuses on providing the results of the research and describing the
conclusion, contribution and vovelty that can be drawn from these
results.
- DONE introduction
- a clear sense of purpose,
thorough understanding of reader needs, and
close attention to correct formats.
- Research paper introductions are always unique.
After all, research is original by definition. However, they often
contain six essential items. These are:
- **An overview of the topic.**Start with a general overview of
your topic. Narrow the overview until you address your paper’s specific
subject. Then, mention questions or concerns you had about the case.
Note that you will address them in the publication.
- **Prior research.**Your introduction is the place to review
other conclusions on your topic. Include both older scholars and modern
scholars. This background information shows that you are aware of prior
research. It also introduces past findings to those who might not have
that expertise.
- **A rationale for your paper.**Explain why your topic needs to
be addressed right now. If applicable, connect it to current issues.
Additionally, you can show a problem with former theories or reveal a
gap in current research. No matter how you do it, a good rationale will
interest your readers and demonstrate why they must read the rest of
your paper.
- **Describe the methodology you used.**Recount your processes to
make your paper more credible. Lay out your goal and the questions you
will address. Reveal how you conducted research and describe how you
measured results. Moreover, explain why you made key choices.
- **A thesis statement.**Your main introduction should end with a
thesis statement. This statement summarizes the ideas that will run
through your entire research article. It should be straightforward and
clear.
- **An outline.**Introductions often conclude with an outline.
Your layout should quickly review what you intend to cover in the
following sections. Think of it as a roadmap, guiding your reader to the
end of your paper.
- These six items are emphasized more or less,
depending on your field. For example, a physics research paper might
emphasize methodology. An English journal article might highlight the
overview.
- DONE conclusion
- Presenting the last word on the issues you raised in your paper.
- Summarizing your thoughts and conveying the larger implications of your study.
- Demonstrating the importance of your ideas.
- Introducing possible new or expanded ways of thinking about the research problem.
- DONE Report
- Informal
- DONE letter report
- Format
- #+BEGIN_VERSE
This form is used in the case of brief and informal reports. Its main parts are:
Heading;
Date;
Address;
Salutation;
Body;
Complimentary close;
Signature.
The body of the letter can be divided into the following parts:
Introduction: Here the writer states the problem.
Findings: Here the finding of the investigation are presented.
Recommendation: After the findings, recommendations are given in the last paragraph of the body.
The sample is given below to give an idea about the structure of a report.
#+END_VERSE
- Sample
- ```text
Opex Apparel Ltd.
(A house for best Garments)
Dhanmondi, Dhaka
25th, May 2021
Managing Director
Opex Apparel Ltd.
Dhanmondi, Dhaka.
Ref: Negligence of duty by the staff in our Uttara Showroom.
Dear Sir,
In accordance with” your instructions, I personally visited our Uttara
showroom to look into its functioning. I made some investigation and
therefore submitting my report hereunder. <abstract,introduction>
A number of worthy customers purchased some exclusive garments
but found some problems with fitting after purchase. They tried their
best to return the garments but failed because there was no
attendant to take the complaint and providing the change. As a
result, they made a phone call to our complaint department and filed
complaints regarding this issue. <findings>
In our Uttara branch, there is only one attendant named Mr. Saker to
handle the after-sales service. He has been found to be irregular for
the last three (3) months. As a result, our customers are getting
dissatisfaction causing a decrease in our sales. In this age of
competition, losing customers means “Red Alert to the business.
I have no hesitation to recommend that Mr. Saker may be served
with a notice and a really efficient and active man may be sent there
for proper functioning. <recommendation>
I hope that quick action will be taken based on my recommendation
for the betterment of our company.<close>
Yours faithfully
M. A Khan Secretary
```
- DONE memo report
- Format
- Abstract
- Clear statement of memo's purpose
Outline of main parts of memo
- Body
- Supporting points, with strong points at the beginning and/or end
Frequent use of short paragraphs or listed items
Absolute clarity about what memo has to do with reader
Tactful presentation of any negative news
- Conclusion
- Clear statement of what step should occur next
Another effort to retain goodwill and cooperation of readers
- Sample:
- ```text
MEMORANDUM
DATE:
TO:
FROM:
SUBJECT:
I'm writing to inform you that [statement, reason for writing memo].
As our company continues to grow … [evidence or reason to support your opening
paragraph].
Please let me know if you have any questions. In the meantime, I'd appreciate your
cooperation as [official business information] takes place.
```
- Formal
- DONE Letter Text Combination Form
- Types
- proposal: A proposal report is a document that outlines a plan or suggestion for a
particular project, initiative, or course of action. It is typically
prepared by an individual or a team who wants to propose a specific
idea, action, or solution to a problem. The purpose of a proposal report
is to convince the intended audience that the proposed plan is viable,
beneficial, and worth pursuing.
- feasibility: A feasibility report determines the outcome of a proposed solution by analyzing all relevant factors.
- progress: A progress report is a document that provides an update on the status,
achievements, and ongoing activities of a project, task, or initiative.
It is typically prepared on a regular basis, such as weekly, monthly, or
quarterly, to inform stakeholders about the progress made toward
established goals and objectives.
- evaluation: An evaluation report is a document that assesses and analyzes the
performance, effectiveness, or impact of a project, program, policy, or
initiative. It provides an in-depth examination and critique of the
subject being evaluated, based on specific criteria and objectives.
- problem analysis: A problem analysis report is a document that examines and analyzes a specific problem or issue in depth. It aims to identify the root causes
of the problem, understand its impact, and propose potential solutions
or recommendations.
- recommendation: Recommendation reports, also known as justification reports, propose a specific idea to the reader and provide evidence to support the
recommendation.
- Template
- ```text
Report on [topic of the report]
Submitted on [date of submission]
Summary or Abstract
[This summarizes the contents of the report, including your main findings and
overall conclusion.]
Introduction
[This provides insight into the purpose of the report.]
Background
[This section provides background information for the reader to understand the
context of the remaining content.]
Methodology
[This section explains to the reader what method you followed to gather your
findings and make your conclusions. For example, describe if you're using
qualitative or quantitative methods in your research.]
Findings
[Present your findings based on your research.]
Conclusions
The main issues we found were as follows:
[Outline the main issues to address based on your findings.]
Recommendations
To address these central issues, we recommend the following steps:
[Offer clear recommendations of actions based on your findings and conclusions
to help solve the problem.]
Appendix
[List any references used for your research, including articles, papers, or other
sources. You can also include any reference materials, such as surveys, tables,
charts, or diagrams referenced in your report.]
```
- LATER 写几篇试试手
- DONE 数电 {{renderer :todomaster}}
SCHEDULED: <2023-06-14Wed>
deck:: 2023t1/Circuits
collapsed:: true
- DONE 看 block4
deck:: 2023t1/Circuits
- Buses #flashcard what is it? connection types?
- Set of two or more electrical conductors representing a
binary value
- Often more than just a one-to-one connection
- Data Storage Devices
- Random Access: #flashcard Access parallel? Access time? address length? two categories of random access?
- All memory contents can be accessed in the same time as
each other.
- Equal time to access any location
- n-bit address
- Volatile #flashcard: content lost? also called? two types?
- Volatile memory loses its contents when the power is switched off
- Volatile memory is commonly called {{c1 RAM(Random Access Memory)}}. Often used as “working
memory” #flashcard
- Static RAM (SRAM): Uses {{c3 transistors}} to store a single bit
of information and does not need to be refreshed
periodically. #flashcard
- more expensive and less dense
- Dynamic RAM (DRAM)Uses a {{c2 capacitor}} to store the
data bit and needs to be periodically refreshed to maintain
the charge in the capacitors. #flashcard
- Because of the small cell size, DRAM can have very high
densities.
- It is the main memory in personal computers.
- Non-volatile #flashcard data loss? abbrevation?
- Non-volatile memory keeps its contents even if there is no
power to the device.
- Non-volatile memory is commonly called as {{c1 ROM}}
- ROM
- Definition :-> Read-Only Memory where the contents cannot be
changed by normal CPU operations.
- used to store fixed data or information.
- Mask ROM :-> programmed in manufacture
- PROM :-> Programmable ROM
- EPROM :-> Erasable PROM
- EEPROM :-> Electrically Erasable PROM
- Serial Access
- Stores data bits in series
Head must travel from current position to new address passing the
other addresses in between – time consuming
Can store large amounts of data
- Read Only
- R / W
- SI bytes:
8bit = 1byte
![image.png](../assets/image_1686315189766_0.png)
- DONE 往年题
- DONE Review slides
:LOGBOOK:
CLOCK: [2023-06-11 Sun 20:05:19]--[2023-06-11 Sun 21:37:27] => 01:32:08
:END:
- DONE Tutorial 1
:LOGBOOK:
CLOCK: [2023-06-11 Sun 20:06:12]--[2023-06-11 Sun 21:13:20] => 01:07:08
:END:
- DONE Base conversion
- Integer
- Digits
- If calculating integer part, from up to down :-> LSB to MSB
- fractional part is the reverse, :-> from MSB to LSB, since we are multiplying.
- DONE LSB, MSB
- DONE ==2's complement==
:LOGBOOK:
CLOCK: [2023-06-11 Sun 20:24:32]
CLOCK: [2023-06-11 Sun 20:24:34]--[2023-06-11 Sun 20:32:57] => 00:08:23
:END:
- convert to 2's complement (negative numbers)
- Invert the bits of that representation
logseq.order-list-type:: number
- add 1
logseq.order-list-type:: number
- convert from 2's complement (negative numbers)
- subtract 1
logseq.order-list-type:: number
- invert the bits of that representation
logseq.order-list-type:: number
- or:
- invert bits
logseq.order-list-type:: number
- add 1
logseq.order-list-type:: number
- Subtraction with 2's complement
- DONE Floating point formats
:LOGBOOK:
CLOCK: [2023-06-11 Sun 20:53:09]--[2023-06-11 Sun 21:09:13] => 00:16:04
CLOCK: [2023-06-04 Sun 16:27:23]--[2023-06-04 Sun 16:54:55] => 00:27:32
:END:
- LATER Block 1
- DONE DBMS
- Database is :-> a shared collection of logically related data (and a description of this data), designed to meet the information needs of an organization.
- Table :-> A collection of related data organized into rows (also called records) and columns (also called fields).
- Row/Record :-> A single set of data in a table, representing a specific instance or entity.
- Column/Field :-> A specific attribute or data element within a table.
- Primary Key :-> A unique identifier for each row/record in a table. It ensures the integrity and uniqueness of the data.
- Foreign Key :-> A field in one table that refers to the primary key in another table, establishing a relationship between the two tables.
- Relationship :-> The connection between tables based on common data values, such as primary and foreign keys.
- Normalization :-> The process of organizing and structuring a database design to eliminate redundancy and improve data integrity.
- Index :-> A data structure that improves the retrieval speed of data from a database table by creating a quick reference to the location of the data.
- Query :-> A request for data or information from a database, usually written using Structured Query Language (SQL).
- SQL (Structured Query Language) :-> A programming language used to manage and manipulate relational databases. It allows you to create, modify, and retrieve data from databases.
- CRUD Operations :-> An acronym for Create, Read, Update, and Delete operations, which are the basic operations used to manage data in a database.
- ACID (Atomicity, Consistency, Isolation, Durability) :-> A set of properties that guarantee the reliability and integrity of database transactions.
- Data Integrity :-> The accuracy, consistency, and reliability of data stored in a database.
- Database Schema :-> The structure or blueprint of a database, defining the tables, fields, relationships, and constraints.
- Database Management System (DBMS) :-> Software that provides an interface to interact with databases, managing their creation, modification, and retrieval.
- DONE basic concepts of Relational model
- A data model :- > a graphical description of the
components of database.
- A relation, is :-> a two-dimensional table arranged in columns and rows.
- A relational database is :-> a collection of relations.
- Candidate Key #flashcard
- A set of attributes that uniquely identifies a tuple within a
relation.
- Uniqueness : In each tuple, candidate key uniquely identify
that tuple.
- Irreducibility: No proper subset of the candidate key has the
uniqueness property.
- Primary Key #flashcard
- Candidate key selected to identify tuples uniquely within
relation.
- Foreign Key #flashcard
- Attribute, or set of attributes, within one relation that
matches candidate key of some (possibly same) relation.
- Composite Key #flashcard
- A candidate key that consists of two or more attributes.
- Recursive Relationship #flashcard
- Relationship type where same entity type participates
more than once in different roles.
- Multiplicity :-> number (or range) of possible
occurrences of an entity type that may relate to a
single occurrence of an associated entity type
through a particular relationship.
![image.png](../assets/image_1686723218703_0.png)
- Cardinality #flashcard
- Describes {{c1 maximum}} number of possible relationship occurrences for an entity participating in a given relationship type.
- Participation #flashcard
- Determines whether all or only some entity occurrences participate in a relationship.
- Gives the minimum number for an entity occurrences participating in a given relationship type.
- Ternary relationship #flashcard
- a ternary relationship is not the same as three binary relationships!
- LATER basic concepts associated with Entity-Relationship(ER) model.
- DONE ACID (Atomicity, Consistency, Isolation, Durability): A set of properties that guarantee the reliability and integrity of database transactions.
- Atomicity: The property that ensures a transaction is treated as a single, indivisible unit of work. It either executes all its operations successfully or rolls back to the initial state if any operation fails.
- Consistency: The property that ensures a transaction transforms the database from one consistent state to another consistent state. It maintains data integrity and adheres to defined business rules.
- Isolation: The property that ensures concurrent transactions do not interfere with each other. Each transaction operates in isolation until it completes, preventing interference or conflicts.
- Durability: The property that ensures committed changes made by a transaction are permanently saved and will survive any subsequent system failures or crashes.
- DONE Concurrency control
- DONE Meaning of serialisability.
- DONE How locking can ensure serialisability.
- Locking achieves serializability by using locks to control access to
shared resources (e.g., database objects like tables or rows) and
prevent conflicts between concurrent transactions.
- DONE 2PL
- In the 2PL protocol, transactions acquire and release locks on database
objects (e.g., tables, rows) in two distinct phases: the growing phase
and the shrinking phase.
- DONE Deadlock and how it can be resolved.
- A deadlock is a situation in which two or more transactions are unable
to proceed because each is waiting for a resource held by the other,
resulting in a circular dependency and a system halt. It is a form of
resource contention that can occur in concurrent systems, including
database management systems.
- DONE How timestamping can ensure serialisability.
- By using transaction timestamps and enforcing the read and write
validation checks, concurrency control mechanisms can ensure that
transactions are executed in a way that maintains data consistency and
serializability.
- DONE Recovery Control
- DONE Some causes of database failure.
- System crashes, resulting in loss of main memory.
- Power failures
- Disk crashes, resulting in loss of parts of secondary storage.
- Application software errors.
- Natural physical disasters.
- User mistakes.
- Sabotage.
- DONE Purpose of transaction log file.
- Contains information about all updates to
database:
- Transaction records.
- Checkpoint records.
- Often used for other purposes (for example, auditing).
- In a relational database management, functional dependency is a concept
that specifies the relationship between two sets of attributes where one
attribute determines the value of another attribute. It is denoted as **X → Y**, where the attribute set on the left side of the arrow, **X** is called **Determinant** , and **Y** is called the **Dependent**.
- DONE kinds of NF [tutorial](https://www.geeksforgeeks.org/normal-forms-in-dbms/)
- First Normal Form (1NF): This is the most basic level of
normalization. In 1NF, each table cell should contain _only a single value, and each column should have a unique name_. The first normal form helps to eliminate duplicate data and simplify queries.
- Second Normal Form (2NF): 2NF eliminates redundant data by requiring that each _non-key attribute_ be dependent on the primary key. This means that _each column should be directly related to the primary key_, and not to other
columns.
- Third Normal Form (3NF): 3NF builds on 2NF by requiring
that _all non-key attributes are independent of each other._ This means that each column should be directly related to the primary key, and not to any other columns in the same table.
- Boyce-Codd Normal Form (BCNF): BCNF is a stricter form of 3NF that ensures that each determinant in a table is a candidate key. In other words, BCNF ensures that _each non-key attribute is dependent only on the candidate key._
- Fourth Normal Form (4NF): 4NF is a further refinement of BCNF that ensures that _a table does not contain any multi-valued dependencies._
- Fifth Normal Form (5NF): 5NF is the highest level of normalization and involves decomposing a table into smaller tables to _remove data redundancy and improve data integrity._
- DONE Block 4
- DONE Distributed DBMS
collapsed:: true
- DONE client server arch
collapsed:: true
- Computers (client) connected over wired or wireless local area network (LAN)
- The database itself and the DBMS are stored on a central device called the database server, which is also connected to the network.
- Distributed Database
collapsed:: true
- A logically interrelated collection of shared data (and a description of this data), physically spread over a computer network.
- Distributed DBMS
collapsed:: true
- Software system that permits the management of the distributed database and makes the distribution transparent to users.
- the key issues
collapsed:: true
- Fragmentation
- Allocation
- Replication
- importance and different types of fragmentation
collapsed:: true
- Horizontal
- Vertical
- Mixed
- different types of transparency
collapsed:: true
- Distribution Transparency: The database feels as a single, logical entity
- Transaction Transparency: Ensures that all distributed transactions maintain distributed database’s integrity and consistency.
- Performance Transparency: must perform as if it were a centralized DBMS.
- advantages and disadvantages of distributed databases
- DONE XML
collapsed:: true
- XML definition and basic concepts
collapsed:: true
- eXtensible Markup Language
- A meta-language (i.e. a language for describing other languages) that
enables designers to create their own customised tags to provide
functionality not available with HTML.
- Relational model versus XML
collapsed:: true
- SQL
collapsed:: true
- is a special-purpose programming language
- You can: manage data in a relational databases.
- XML
collapsed:: true
- is a markup specification language
- You can: design ways of describing information (text or data), usually for storage, transmission, or processing by a program (you can use it in combination with a programming language).
- It says nothing about what you should do with the data (although your choice of element names may hint at what they are for).
- Well-formed XML, Valid XML
collapsed:: true
- Adheres to basic structural requirements - Single root element
- Matched tags, proper nesting
- Unique attributes within elements
- DTD, XSD
collapsed:: true
- DTD: Defines the valid syntax of an XML document
- XSD: a more comprehensive method of defining content model of
an XML document.
- DONE Data Mining
collapsed:: true
- concept
collapsed:: true
- The process of extracting valid, previously unknown, comprehensible,
and actionable information from large databases and using it to make
crucial business decisions.
- different applications
collapsed:: true
- Retail / Marketing
- Banking
- Insurance
- Medicine
- basic techniques
collapsed:: true
- predictive modelling,
collapsed:: true
- uses observations to form a model of the important characteristics of some
phenomenon
- database segmentation,
collapsed:: true
- Uses unsupervised learning to discover homogeneous subpopulations in a database to improve the accuracy of the profiles.
- link analysis,
collapsed:: true
- Establishing links, called associations, between the individual
records, or sets of records, in a database.
- deviation detection.
collapsed:: true
- Identifies outliers, which express deviation from some previously
known expectation and norm.
- DONE NoSQL
collapsed:: true
- the motivation for NoSQL
collapsed:: true
- By giving up ACID constraints, one can achieve
much higher performance and scalability.
- explain the concepts of NoSQL
collapsed:: true
- NoSQL databases (aka "not only SQL") are non-tabular databases and store
data differently than relational tables. NoSQL databases come in a
variety of types based on their data model. The main types are document,
key-value, wide-column, and graph. They provide flexible schemas and
scale easily with large amounts of data and high user loads.
- explain the application areas of NoSQL
collapsed:: true
- NoSQL is an alternative, non-traditional DB technology to be
used in large scale environments where (ACID) transactions are not a priority.
- CAP theorem:
collapsed:: true
- There are 3 main properties for distributed management:
1. Consistency → A data item has the same value at the same time (to
ensure coherency).
2. Availability → Data is available, even if a server is down.
3. Partition Tolerance → A query must have an answer, even if the system
is partitioned (unless there is a global failure).