Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL数据库与将Java序列化对象写入文件?_Java_Sql_Database_Serialization - Fatal编程技术网

SQL数据库与将Java序列化对象写入文件?

SQL数据库与将Java序列化对象写入文件?,java,sql,database,serialization,Java,Sql,Database,Serialization,我有一个用java编写的web应用程序,它是关于课程安排的。我使用文件系统来存储我的数据。我序列化了我的集合(其中的对象),并将它们收集到一个序列化对象中。每个用户都有一些用于系统数据和备份或准备好的表数据的文件。我的程序在用户输入时读取该文件(仅系统数据),在用户退出时将其写入该文件。 对象设计非常复杂,对象之间存在多对多关系。编写该程序的数据需要大量的连接操作和良好的SQL模式设计。此外,用户通常拥有数千条信息,其中包含数百条课程、教师、教室,甚至数千条限制条件。除此之外,用户之间没有连接。

我有一个用java编写的web应用程序,它是关于课程安排的。我使用文件系统来存储我的数据。我序列化了我的集合(其中的对象),并将它们收集到一个序列化对象中。每个用户都有一些用于系统数据和备份或准备好的表数据的文件。我的程序在用户输入时读取该文件(仅系统数据),在用户退出时将其写入该文件。 对象设计非常复杂,对象之间存在多对多关系。编写该程序的数据需要大量的连接操作和良好的SQL模式设计。此外,用户通常拥有数千条信息,其中包含数百条课程、教师、教室,甚至数千条限制条件。除此之外,用户之间没有连接。 在这个程序中,我看不到使用sql的任何好处。甚至我的系统也运行得很快。然而,许多不知道我的程序结构的开发人员建议我将数据库系统移植到SQL中


SQL相对于文件系统(带有序列化对象)的优势是什么?特别是对于我的非凡系统而言?

仅列举一般使用SQL数据库的几个优势:

  • 可扩展性:您可以将数据移动到单独的服务器,以减少应用服务器上的负载
  • 可访问性:如果您希望将来发布程序的扩展,该程序可以独立运行,并且仍然可以访问相同的数据,而无需担心锁定文件等问题
  • 安全性:数据库系统允许您将“权限”配置为允许谁写入数据和允许谁读取数据
  • 可移植性:如果您将来决定将程序升级到其他技术,SQL语言是一种行业标准,可以相对轻松地从一个数据库供应商移植到另一个数据库供应商。您还可以独立于数据库将主应用程序移植到另一种技术,因为这两种技术都有驱动程序/库/连接/插件/任何您想称之为与数据库通信的东西
  • 备份:您可以在应用程序联机时轻松运行备份。使用文件备份时,您可能会遇到锁定问题,或者必须关闭应用程序进行备份
  • 人力资源:您可以雇佣数据库管理员来管理您的数据库,并减少开发人员/工程师的责任,以便他们能够专注于其他任务
  • 监视:您可以在应用程序处于活动状态时监视或检查数据
然而,通常使用SQL数据库的应用程序从一开始就考虑了关系数据结构。如果不完全理解您的应用程序,听起来您的数据结构非常复杂,迁移到SQL数据库可能不那么容易。我建议你也看看

  • 允许大量结构化、半结构化和非结构化数据
  • 鼓励面向对象编程
  • 易于使用
  • 而且比SQL灵活得多

如果您想要更多本地monolitic应用程序。。数据库系统SQL或NoSQL可以为您提供。。。维护、性能、可扩展性、语言标准查询、分布式体系结构中的执行、复制、维护、并发访问、良好的管理工具、可移植性、支持广泛的社区、卓越的功能管理存储操作数据、大规模导出和导入数据的能力、索引、引用完整性、,群集等…感谢您的解释性回答。现在我最大的问题是时间。我认为我的数据结构有点复杂。此外,用户拥有大量数据,使用SQL操作这些数据并不容易,创建这样的东西似乎非常耗时。然而,正如您前面提到的,sql相对于数据系统有很多优势。将来我可能需要这些优势。