Kuldeepak Gupta's presentation covered serialization in Scala. Serialization is the process of converting objects to bytes that can be sent over a network or stored persistently. The presentation discussed custom serialization in Scala as an alternative to Java serialization, which can be slow and use heavy memory. It also covered popular serialization frameworks for Scala like Kryo, which is very fast and memory efficient, Avro which uses schema-based serialization, and Protobuf, Google's platform-neutral data format.
2. Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Mute
Please keep your window on mute
Avoid Disturbance
Avoid leaving your window
unmuted after asking a question
3. Agenda
01 What is Serialization
02 Custom Serialization
04
Avro
Kryo
03
00
3
4
04
05 Protobuf
5. Serialization in Scala
● Serializing an object means taking the data stored in an object and
converting it to bytes (or a string).
● Serializing means transforming objects from the JVM into bytes that you
can then send over the medium to some other JVM or to some kind of
persistence or to some other file that you can retrieve later on.
7. Custom Serialization Scala
● We want to serialize a Scala class and save it as a file, or send it across a
network.
● Problem with Java Serialization -
○ Slow
○ Heavy Memory
○ Security Vulnerability
11. Avro
● Apache Avro™ is a data serialization system.
● It can validate objects against a known schema. (Schema based system).
● Benefits -
○ Rich data structures.
○ A compact, fast, binary data format.
○ A container file, to store persistent data.
13. Features of Scala
● Protocol buffers are Google's language-neutral, platform-neutral,
extensible mechanism for serializing structured data
● Protocol Buffers (Protobuf) is a free and open-source cross-platform
data format used to serialize structured data.