latest Tools difference , advantages

 

SQL vs NoSQL:

SQL

- Relation database, Structured, Vertically scalable (you can increase the load on a single server by increasing things like RAM, CPU, or SSD). 

- Table based

PostgreSQL, MySQL, Oracle and Microsoft SQL Server

No Sql:

-  Distributed, Unstructured, Horizontally scalable 

- Key-value pair, document-based, Graph database

Redis, RavenDB Cassandra, MongoDB, BigTable, HBase, Neo4j and CouchDB


Key highlights on SQL vs NoSQL: 
 

SQLNoSQL
RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS)Non-relational or distributed database system.
These databases have fixed or static or predefined schemaThey have dynamic schema
These databases are not suited for hierarchical data storage.These databases are best suited for hierarchical data storage.
These databases are best suited for complex queriesThese databases are not so good for complex queries
Vertically ScalableHorizontally scalable
Follows ACID propertyFollows CAP(consistency, availability, partition tolerance)



RabbitMQ Vs Kafka


Primary Use:

Apache Kafka, build applications that process and re-process streamed data on disk.

RabbitMQ processes high-throughput and reliable background jobs, communication, and integration within, and between applications.

Scale:

Apache Kafka is a leading performer. We can say Kafka outplays RabbitMQ as well as all other message brokers. Moreover, Kafka scales nicely up to 100,000 msg/sec even on a single server, as we add more hardware.

RabbitMQ supports a huge number of development platforms, with ease of use and maturity. Basically, it scales nicely about 20,000 msg/sec on a single server. Although, as we add more servers, it also scales well. 

Written in:

Apache Kafka is Written in Scala (JVM).

RabbitMQ is written in Erlang

License:

Apache Kafka is open-source through Apache License 2.0.

RabbitMQ is also open Source through Mozilla Public License.

Origins:

Kafka developed in Scala. Moreover, it started out at LinkedIn as a way to connect different internal systems. Afterward, Apache Software Foundation adopted Kafka within the ecosystem of products. Moreover, in event-driven architecture, it is useful.


RabbitMQ: Originally, it was developed to implement AMQP, an open wire protocol for messaging with powerful routing features.

However, just because  Java already has messaging standards like JMS, hence, for non-Java applications it is not helpful since that need distributed messaging which is severely limiting to any integration scenario, either microservice or monolithic.

So, cross-language flexibility became real for open source message brokers, with the advent of AMQP.

More details 


SpringBoot Alternatives for building Java, Kotlin Mocroservices.


Name

Developer

Supported Languages

Helidon

Oracle

Java, Kotlin

Ktor

JetBrains

Kotlin

Micronaut

Object Computing

Groovy, Java, Kotlin

Quarkus

Red Hat

Java, Kotlin, Scala

Spring Boot

Pivotal

Groovy, Java, Kotlin



Difference between first level and second level cache in Hibernate

The main difference between the first level and second level cache in Hibernate is that 
 - the first level is maintained at the Session level and accessible only to the Session, 
- while the second level cache is maintained at the SessionFactory level and available to all Sessions. 
This means, you can use the first-level cache to store local data, i.e. the data which is needed by the Session, 
and you can use the second-level cache to store global data, i.e. something which can be shared across sessions.


REST Vs SOAP:




Comments

Popular posts from this blog

Java Design Patterns

Java 8 Concepts with Examples