Both GeoDatabase and Shapefile are excellent storage containers for Geospatial datasets. However, the former (geodatabase) has more robust advantages when handling big spatial data over the later (Shapefile).
Here are some of the reasons why you should move to using geodatabase asap when dealing with very big data:-
~ Allow multiple users management and privileges on big geospatial datasets
~ One-to-Many and Many-to-Many relationship between geodata sets.
~ A shapefile isn’t made of a single file. Shapefiles are quite unhandy when working with many of them very often. Four files at least makes a valid shape file (.shp, .dbf, .shx and .prj).
~ Shapefiles are binary files that can't be edited by hand using any text editor. They most be viewed and edited in a GIS software, that is not the case with Geodatabases (SpatiaLite and GeoJSON). You can edit them by hand (using text editor), rather than using GIS software, if you’re so need to do so.
~ Long attribute fileds/column names like “nig_geodb_majortrunck_RoadNetwork” can't be used as 10 characters at maximum is allowed for field name.
~ The maximum file size for shapefile (.shp / .dbf) is 2GB. With a geodatabase, you are not limited by the file size.
~ There are no much support for table field type. Numeric attributes are stored as characters (integers/floats), causing potential problems with rounding etc.
~ NULL values are interpreted differently between systems
Example to clarify the points above
Go to NaturalEarthData.com and download all vector geographical themes of the world as SHAPEFILE and GeoDataBase.
You will easily see that because the dataset contains over 100+ layer/themes, the GeoDB is easier to hand as it holds all the layers in one single file while the shapefile option has at least three files for each of the 100+ layers to deal with.
Thank you for following the blog post.