Archive for the 'English' Category

May 26 2012

Firebird vs Oracle – First impressions

Published under Database,English,Firebird,Oracle

I and my team recently managed the development of a huge database with Oracle. The same database already exists and successfully lives thanks to Firebird SQL.

The main goal of this development is the creation of a cross-platform application, able to work both with Firebird SQL and with Oracle at the same time.

We reached the goal after a lot of headache and frustration due to the subtle, and often incredible, differences between the two platforms. In this post I list the main differences we faced to. The next table summarize the major topics, this topics will be better discussed in a next post.

This analysis is not intended to be exhaustive and general for all types development. This comparison is based on the experience of a team that reaches great results following the "best practices" in designing a Firebird SQL and expects similar results, and possibly similar winning strategies, in developing with Oracle .

 Topic

Oracle 11g

Firebird 2.5

Installation Cumbersome with a lot of unexpected incidents Simple and straightforward
Resource eating As much RAM as possible

A lot of services running

Minimal, proportional to DB size

Two services running

Logs Widespread on the machine

Mainly non human readable

One log for all
Documentation Huge Not well structured
Support form the community A lot of discussion forums and blogs

Low quality

Difficulties to find the right solution due different approaches and philosophies

Sparse specific forums

Great support from Firebird enthusiasts

Empty strings Automatically transformed to NULL Differentiation of empty strings and NULL strings
INTEGER Automatically converted to NUMBER(38) INTEGER
NULLs in expression NULL operators gives NULL results

String CONCATENATION has different behaviour: NULL treated as empty string

SQL-92 Compliant: NULL operators gives NULL results
Stored procedure as Tables Possible with "FROM Table()" construct Possible with "FROM" construct
SELECT INTO with empty result set Fails Processed with NULL
IF EXISTS() Non present. Workaround with tricks  (for loop) Present
SELECT FIRST SKIP or SELECT ROWS WHERE ROWNUM

Due to the prefiltering effect of the where clause, and odd solution should be used:

select * from (select .... order by) where rownum

SQL-92 compliant
SELECT COALESCE() with no rows Returns empty result set Executes the COALESCE
Index on Foreing Keys Explicit creation required Automatically created
CONTAINING Workaround: upper(filed) LIKE upper('%pattern%') Native

Comments Off

Apr 24 2010

NKI41.com – Noriyuki Haga official Website

Published under English,General,Web

Noriyuki Haga by IdeaTech

NKI41.com - the new official website of Noriyuki Haga, the awesome rider of Ducati in the SuperBike world championship, is online.

The new official website shows a new, fresh and immediate layout, it's rich of real time news about the events and the results, a lot of pictures from the current and previous championships, videos and detailed info about the upcoming races.

Like for the previous version of website, the designer is DTDesign. In this version the Flash has been substituted by a CMS in order to allow fast and real-time update in contents. This technology is provided by IdeaTech by means of leading solutions in the field of web content management.

IdeaTech is continuously working in the deployment of solution allowing fast response, high load, good-looking and high availability.

Stay tuned!

Comments Off

Feb 26 2009

“What did you learned today?” and continuously feeding the brain

I just read this post in which the author depicted the main differences between works involving static environments, like accountants management, in which the way of making things changes slowly and more dynamic environments, like IT related areas, in which things change terribly faster.

Reading this I realized what I recently thought about the continue and strong knowledge process I need to face to in my everyday work and I put myself a question: would I like to live without continuously learning new things?

In last few month I become aware of one big truth: I'm not happy at night if during the day I didn't learn something new.

I suppose that this is due mainly to two factors:
1. I'm forced to learn new things every day, because technologies and markets move faster and faster and the knowledge must run ,at least at the same speed. Any IT professional is on the cutting edge of the technology and has to remain on the edge in order to offer excellent products.
2. I physically require to learn something new every day. My soul and my brain ask this.

The first is an external conditioning, the second is a condition imposed by my way of being. These two penetrate mutually in such a strong way that I can't decide which of the two is the independent cause: is my soul that makes me "decide" to become an IT professional or is the IT market that addicted me to such an high rate of changes and making me unable to live without continuous improvements?

I suppose, and I like to think that, neither the first nor the second is the unique independent cause, but both com-penetrates in making me like I am.

I also realized that is really difficult to me working on repetitive duties (sometimes this is necessary even in IT activities) without giving up to the seduction of suspend my tasks and start exploring new solutions and paths in order to find optimized and more efficient ways of doing the same things.

This is good because improves my abilities and my background, but it is also a doom because it continuously train my brain and make me addicted to a continuous learning process.

Comments Off

Next »