Bitcoin Forum
April 26, 2024, 03:02:53 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Blockchain technology vs. MySQL or other decentralized databases  (Read 883 times)
bboyalex (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
November 22, 2017, 04:49:14 PM
 #1

A lot of devs I know say that most of the companies in the crypto space could only use MySQL and do not necessarily need blockchain.  Shocked

Some even say that decentralized databases are better than blockchain in many ways. What's your take? Why or why not?  Huh

1714143773
Hero Member
*
Offline Offline

Posts: 1714143773

View Profile Personal Message (Offline)

Ignore
1714143773
Reply with quote  #2

1714143773
Report to moderator
1714143773
Hero Member
*
Offline Offline

Posts: 1714143773

View Profile Personal Message (Offline)

Ignore
1714143773
Reply with quote  #2

1714143773
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3374
Merit: 4606



View Profile
November 22, 2017, 05:02:17 PM
Merited by ABCbits (3)
 #2

Horses for courses.

The difference between someone who knows a computer language and can write a computer program, and an experienced, talented, skilled, developer is that the skilled developer is able to look at a particular use-case and determine the best (or at least a very good) option for how to implement it.

There are situations where a centralized database it the best choice. There are situations where a decentralized blockchain is the best choice. Anyone who blindly chooses one over the other without considering the benefits and requirements is a fool.
TommyZ
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
November 22, 2017, 06:29:17 PM
 #3

In comparison of AWS and Ethereum efficiency, there is no doubt that there will be a K.O. in first round in favor of Amazon. There is no point of that comparison since those technologies have two different use cases. What your friends are referring to is distributed architecture and in this sense they are right. Distributed MySQL databases will beat blockchain, at least today.

However blockchain is distributed and decentralized system at the same time. There is a lot of confusion what decentralized and distributed means.

Making long story short.

distributed systems: decentralize the location of some resource removing single point of failure but not necessarily control over that resource.

decentralized systems: distribute control over some resource by removing central point of failure.

In example:
AWS is distributed. Data and processes are spread across severs all over the world. At the same time they are centralized because users interact through single website controlled by Amazon.

Ethereum is distributed and decentralized. Data is spread all over the world between different nodes. It is also decentralized because there is no single point of failure and control. Well, except maybe Vitalik Smiley
jhdscript
Member
**
Offline Offline

Activity: 266
Merit: 10


View Profile WWW
November 22, 2017, 07:50:35 PM
 #4

The main issue with decentralized blockchain is the number of peer. With classical storage node you can control the number of nodes.

But blockchain have a lot of point of interest too.

Ucy
Sr. Member
****
Offline Offline

Activity: 2576
Merit: 401


View Profile
November 23, 2017, 10:26:15 AM
Last edit: November 23, 2017, 11:02:37 AM by Ucy
 #5

Public Blockchain is great. for its Immutablity, transparency and honesty. This 3 are what drew me to Blockchain.

If I were that powerful I would compel every public institution on Earth to host government data on public Blockchain. No government agency (including security) will be allowed to keep things private.


 Blockchain is not Blockchain until it is publicly distributed .

Colorblind
Member
**
Offline Offline

Activity: 392
Merit: 41

This text is irrelevant


View Profile
November 23, 2017, 12:36:02 PM
 #6

Horses for courses.

The difference between someone who knows a computer language and can write a computer program, and an experienced, talented, skilled, developer is that the skilled developer is able to look at a particular use-case and determine the best (or at least a very good) option for how to implement it.

There are situations where a centralized database it the best choice. There are situations where a decentralized blockchain is the best choice. Anyone who blindly chooses one over the other without considering the benefits and requirements is a fool.

I couldn't agree more with above.


To even begin to compare you need at least understand both blockchain and sql. Without this understanding you will be trying to compare screwdriver with the hammer.
Kakmakr
Legendary
*
Offline Offline

Activity: 3430
Merit: 1957

Leading Crypto Sports Betting & Casino Platform


View Profile
November 24, 2017, 07:36:10 AM
 #7

I think one of the disadvantages of using a public Blockchain, would be giving up the control over your project. Most of these centralized databases give some degree of control to the developers over their own projects. You buy proprietary software like MySQL and you adapt your inputs and data to your needs. While you own the software, you have some control over your project.

The public Blockchain can go into any direction and you are dependant on external factors, like miners mining your inputs/blocks and spam attacks etc. <Things you cannot control >

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
Colorblind
Member
**
Offline Offline

Activity: 392
Merit: 41

This text is irrelevant


View Profile
November 24, 2017, 01:47:16 PM
 #8

I think one of the disadvantages of using a public Blockchain, would be giving up the control over your project. Most of these centralized databases give some degree of control to the developers over their own projects. You buy proprietary software like MySQL and you adapt your inputs and data to your needs. While you own the software, you have some control over your project.

The public Blockchain can go into any direction and you are dependant on external factors, like miners mining your inputs/blocks and spam attacks etc. <Things you cannot control >

This is only valid for public blockchains. When one compare SQL and BlockChain I assume that centralization to a certain degree is still an option.

I really like this graph:

omashi
Jr. Member
*
Offline Offline

Activity: 54
Merit: 10


View Profile WWW
November 24, 2017, 02:33:13 PM
 #9

it depends on your view, I think blockchain as a concept is overhyped, I see blockchain as a verifiable linked list, which is pretty inefficient in terms of performance for vast majority of applications, but for bitcoin it makes sense because scalability is secondary to trustless and censorship resistant qualities, for most applications Apache software is probably a better choice.

CBT ◆◆ CommerceBlock ◆◆ CBT
Creating Decentralised Financial Infrastructure (https://www.commerceblock.com/)
◆ Whitepaper (https://www.commerceblock.com/commerceblock-whitepaper.pdf) ◆ ANN Thread (https://bitcointalk.org/index.php?topic=2613540) ◆ Github (https://github.com/commerceblock) ◆ Twitter (https://twitter.com/commerceblock) ◆ Telegram (https://t.me/joinchat/Ge36IURXhKAS_6HTznUXUg) ◆
haltingprobability
Member
**
Offline Offline

Activity: 98
Merit: 26


View Profile
November 24, 2017, 02:39:30 PM
 #10

Unless you are a cryptocoin, you don't need a blockchain. Hell, most cryptocoins don't need a blockchain. People call the blockchain "a database" but it's pretty much the least performant database imaginable. A firm could run its own "private blockchain" but this is a lot like using BitTorrent for your firm's network filesystem. It's not impossible, it's just completely missing the point.
TommyZ
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
November 24, 2017, 05:59:38 PM
 #11

Unless you are a cryptocoin, you don't need a blockchain. Hell, most cryptocoins don't need a blockchain. People call the blockchain "a database" but it's pretty much the least performant database imaginable. A firm could run its own "private blockchain" but this is a lot like using BitTorrent for your firm's network filesystem. It's not impossible, it's just completely missing the point.

I respectfully disagree.

Private blockchain is superb solution for companies that needs to interact and process data shared with other companies. It solves data synchronization and consensus problems very well. I'm currently working on smart contracts for private blockchain for exactly that use-case.
haltingprobability
Member
**
Offline Offline

Activity: 98
Merit: 26


View Profile
November 24, 2017, 07:05:21 PM
 #12

Unless you are a cryptocoin, you don't need a blockchain. Hell, most cryptocoins don't need a blockchain. People call the blockchain "a database" but it's pretty much the least performant database imaginable. A firm could run its own "private blockchain" but this is a lot like using BitTorrent for your firm's network filesystem. It's not impossible, it's just completely missing the point.

I respectfully disagree.

Private blockchain is superb solution for companies that needs to interact and process data shared with other companies. It solves data synchronization and consensus problems very well. I'm currently working on smart contracts for private blockchain for exactly that use-case.

*shrug - maybe you're right, maybe not, only time will tell. What Bitcoin is doing - a distributed, all-to-all network mining blocks at the rate of about 0.1 per minute - is massively inefficient from a database point-of-view. The reason that it works is that the Bitcoin network is able to provide other attributes that are more important than performant database access (in particular, write performance) - it is decentralized, permissionless, anonymous, and so on. Every idea I've encountered in the "private blockchain" space is either a blatant ripoff (could be done faster and more securely with traditional tools) or a simple failure to really comprehend what a blockchain is and why you'd want to use one. It's just buzzword-driven mania typical of the parrots in corporate management.
thr3
Member
**
Offline Offline

Activity: 77
Merit: 13


View Profile
November 24, 2017, 09:05:50 PM
 #13

In comparison of AWS and Ethereum efficiency, there is no doubt that there will be a K.O. in first round in favor of Amazon. There is no point of that comparison since those technologies have two different use cases. What your friends are referring to is distributed architecture and in this sense they are right. Distributed MySQL databases will beat blockchain, at least today.

However blockchain is distributed and decentralized system at the same time. There is a lot of confusion what decentralized and distributed means.

Making long story short.

distributed systems: decentralize the location of some resource removing single point of failure but not necessarily control over that resource.

decentralized systems: distribute control over some resource by removing central point of failure.

In example:
AWS is distributed. Data and processes are spread across severs all over the world. At the same time they are centralized because users interact through single website controlled by Amazon.

Ethereum is distributed and decentralized. Data is spread all over the world between different nodes. It is also decentralized because there is no single point of failure and control. Well, except maybe Vitalik Smiley

This is actually a really good answer but it misses the point. Just a disclaimer I am not an expert in this field hence some of my explanation can be wrong.
Databases can exist in two different partitions, horizontal (fields are horizontal?) or vertical(fields are vertical?) 
To understand what TS is asking, assume the blockchain to be a data structure. I personally call the blockchain a data structure as opposed to a database because it still uses a database to store its data. It is highly technical and even I do not understand this topic in detail but I know one of the startups (Gon or something) and Ethereum are working on this.

Bitcoin's blockchain can be stored in either flat files(slower read) or in a database like MySQL, Postgres but the Bitcoin Core/Ethereum Geth uses LevelDB which is Google bigdata table system (one of the best out there technically). The other method would be to use some sort of NoSQL big data database (Hadoop/Cassandra). Then it comes to the parsing, query, storing structures, you will need to look into Merkle Patricia Tree, key-value, BTrees, Hemp, Hash Tables etc.. based on the use case. If you want for faster reading I believe it is HDFS using mapReduce, you can shard across the clusters to store the data.Some data architect here can probably explain this better.

For 99.9% of the ICO's out there, it would be better for them to use a typical relational database (which eventually they will - MySQL/Postgres) due to the complexity related to data storage and reading. Most blockchains are focusing on user usage, improving their proof-of-<insert fancy name here>, not the actual read-write process itself because of the complexity involved.

In summary, yes read/write operations on blockchains will be way much faster in the future since research funding are being poured into this field.
Mountaingoat
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile WWW
November 25, 2017, 02:19:47 PM
 #14

MySQL isn't really decentralized, it is kept on one or multiple servers from a single person or company.

Blockchain data is kept by all, everybody who uses it has the same copy of all files to see if nobody messed with it.
bboyalex (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
December 04, 2017, 04:04:24 PM
 #15


Very useful thanks!

I think one of the disadvantages of using a public Blockchain, would be giving up the control over your project. Most of these centralized databases give some degree of control to the developers over their own projects. You buy proprietary software like MySQL and you adapt your inputs and data to your needs. While you own the software, you have some control over your project.

The public Blockchain can go into any direction and you are dependant on external factors, like miners mining your inputs/blocks and spam attacks etc. <Things you cannot control >

This is only valid for public blockchains. When one compare SQL and BlockChain I assume that centralization to a certain degree is still an option.

I really like this graph:

https://www.adjoint.io/images/need-blockchain.jpg
kooler1
Jr. Member
*
Offline Offline

Activity: 33
Merit: 1


View Profile
December 04, 2017, 08:38:13 PM
 #16

MySQL (the same as most of the traditional SQL databases) is not decentralised. It can distribute data among different servers but they should be preconfigured and some of them will have more power than others (usually one or two "master" servers).

Blockchain is on the other hand a "database" that stores copy of data on the computers of all clients (nodes) and has mechanics needed to accept simultaneous writes and synchronise data between nodes.

Technically blockchain is much more difficult to setup and develop upon than centralised databases, so better to avoid using it unless you have a strong reasoning and knowledge.
jwrent34
Member
**
Offline Offline

Activity: 86
Merit: 10


View Profile
December 04, 2017, 09:22:24 PM
 #17

There are pros and cons to both. One for MySQL and all the SQLlike databases is the ease of use and the amount of people that have the knowledge to use it. A manager of the database can be a newly CS graduate or someone who is 30 years in the field. Of course blockchain would be a better use case for some but the coders who can do it are few and therefore are paid more. The benefits would have to outweigh the investment.

★ ★ ★ ★ ★   DeepOnion  ✔  Anonymous and Untraceable Cryptocurrency  ✔  TOR INTEGRATED & SECURED   ★ ★ ★ ★ ★
› › › › ›  JOIN THE NEW AIRDROP ✈️    ★    ✔ VERIFIED WITH DEEPVAULT  ‹ ‹ ‹ ‹ ‹
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬   ANN  WHITEPAPER  FACEBOOK  TWITTER  YOUTUBE  FORUM   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!