Wednesday, April 25, 2012

Cool presentation of F#

I am investigating Visual F# as an additional tool to C# under .NET Framework. To get quick overview of F# I watched a presentation by Luca Bolognese at PDC2008: An Introduction to Microsoft F#. This was a very good choice: very cool presentation and very good introduction into F#. I recommend to watch it and have a fun together with getting good overview.

Some comments about F#:
A functional language for .NET, which syntax makes it easy to use for:
  1. Declarative processing of lists or sets in a pipeline fashion.
  2. Asynchronous and parallel processing.
Another important point is that F# is not just functional, but it is useful, i.e.,  it can be easily used with other .NET languages and applications. It provides object-orientation of CLR and has interfaces to call in and call out CLR assemblies built in other .NET languages.

Friday, April 13, 2012

ACM Webinar on Security

Yesterday I attended second ACM Webinar: Security: Computing in an Adversarial Environment by Dr. Carrie Gates from CA Technologies.

It was high level introductory lecture in general security. I cannot say that it was a computer science (CS) lecture. The only connection to computer science was that security in modern world is much related to computers and Internet. Since the webinar was from ACM I was expecting more CS technological lecture.
At the beginning Dr. Gates asked why security discipline is different from any other major CS disciplines such as AI. My answer was:
Most CS disciplines help to get solutions for primary tasks or services of applications or software, while security is often hidden behind those tasks and services in background. Security does not help with solving primary tasks, instead it is often opposite.
This one was not in the list of the question answers at the end of the presentation, but it was indirectly mention during the lecture.

By the way, I was using Firefox during the webinar and noticed bad quality of the sound and inability to get slides from there. Later I switched to IE to get the slides and the sound was improved. I have not tested with Chrome.

Wednesday, April 4, 2012

SAP HANA database in SIGMOD record

An article about new SAP HANA database was published in SIGMOD Record last December: SAP HANA database: data management for modern business applications by F. Färber, S. Kyun Cha, J. Primsch et. al.

I was expecting to get insights in HANA from this article. Unfortunately, it is just another white paper without technical details.

HANA is main-memory database and implements both column-oriented storage and row-oriented storage. This mix is getting popular (see C-Store). In contrast to C-Store, which uses row-store for updates and column-store for analysis, HANA's article recommends to use row-store for meta-data and column-store for real data. Data in column-store are processed by both read-write and read-only transactions. Note that HANA supports ACID transactions. Therefore, having both column-store and ACIDness can potentially lead to performance issues due to:
  1. Column-stores are design for scans and perform badly for many small insert transactions.
  2. Maintaining ACID is expensive if update or insert transactions are large.

The article does not say how ACID property should be utilized in applications. Another missing point is how a database should be populated.

Another question related to database population and transactions: how scale-out is supported in the case of updates. According to CAP-theorem consistency, i.e., ACIDness, should be relaxed for scale-out.  It will be great to see how HANA works for data population and analysis at the same time.

Having different engines for different data kinds such as relational data, graph data, text data under single hood is a good idea. It will be interesting to see performance and complexity of applications with data managed by several engines at the same time.

Details about "Beyond SQL" features are also missing.