Questions tagged [database]

A database is an organized collection of data. It is the collection of schemas, tables, queries, reports, views, and other objects. The data are typically organized to model aspects of reality in a way that supports processes requiring information. Use this tag if you have questions about designing a database. If it is about a particular database management system, (e.g., MySQL), please use that tag instead.

From Wikipedia:

A database is an organized collection of data. It is the collection of tables, queries, reports, views and other objects. The data is typically organized to model aspects of reality in a way that supports processes requiring information, such as modelling the availability of rooms in hotels in a way that supports finding a hotel with vacancies.

A large proportion of websites and applications rely on databases. They are a crucial component of telecommunications systems, banking systems, video games, and just about any other software system or electronic device that maintains some amount of persistent information. In addition to persistence, database systems provide a number of other properties that make them exceptionally useful and convenient: reliability, efficiency, scalability, concurrency control, data abstraction, and high-level query languages. Databases are so ubiquitous and important that computer science graduates frequently cite their database class as the one most useful to them in their industry or graduate-school careers.2

The term database should not be confused with Database Management System (DBMS). A DBMS is the system software used to create and manage databases and provide users and applications with access to the database(s). A database is to a DBMS as a document is to a word processor.

Database Languages

Database languages are special-purpose languages, which do one or more of the following:

ACID

In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions.

  1. Atomicity - Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails, then the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not happen.

  2. Consistency - The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined rules.

  3. Isolation - The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e., one after the other. Providing isolation is the main goal of concurrency control. Depending on the concurrency control method (i.e., if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete transaction might not even be visible to another transaction.

  4. Durability - The durability property ensures that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors. In a relational database, for instance, once a group of SQL statements execute, the results need to be stored permanently (even if the database crashes immediately thereafter). To defend against power loss, transactions (or their effects) must be recorded in a non-volatile memory.

Popular Database tools

Some useful references:

Free online database courses:

137 questions
4
votes
2 answers

Using Ethereum as a ACID database?

I need a reliable ACID database with complex transactions. It is a hassle to do this in Java or other high level languages, especially if the database spans multiple systems and networks. For this purpose, I wanted to use the ACID features of smart…
Jus12
  • 356
  • 2
  • 12
3
votes
0 answers

Art registry site: isn't this just a centralized DB?

Just trying to wrap my head around the claims here:: https://www.artory.com/how-it-works/ Essentially they work with an industry partner (auction houses like Christie's), use all of the information related to a sale that is signed by the partner…
enodren
  • 31
  • 1
1
vote
2 answers

What happens if you modify the blockchain database out of band?

I understand that the data in a blockchain is stored in a database. E.g., this post states that Ethereum uses LevelDb or RocksDb. I expect that normally the only access to this database is through smart contracts, but is there anything preventing…
morpheus
  • 135
  • 5
1
vote
1 answer

Does any one have the archive node data?

I want to analyze the archive node data in geth, but the sync seems slow, is there any archive node data? node data with a very lower height will be ok.I just want to run the cmd 'geth db inspect' in archive node.
user2712
  • 11
  • 2
0
votes
1 answer

Saving huge volumes of data in Ethereum

I would like to save daily prices of about 3000 items (about 2mb in size) on a public blockchain, and I would like to create a DAPP to retrieve the data. I am considering saving the data on Ethereum. I checked this link which said it would cost…
Pongal
  • 1
0
votes
2 answers

Is there a way to store data on ethereum blockchain without anybody knowing about it

Lets say I am building a contract where I want to store some important information on ethereum blockchain. The data should be hidden and people shouldn't have a way to see it. As per my knowledge, every transaction on ethereum blockchain is open…
Vivek Kumar
  • 239
  • 1
  • 7
0
votes
2 answers

How can i read transation data from ethereum to file or database?

I want read transations data "input" field from ethereum to file.How can i do it?thanks.